Cod sursa(job #1556012)

Utilizator mariusn01Marius Nicoli mariusn01 Data 23 decembrie 2015 22:42:49
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <cstdio>
#include <bitset>

using namespace std;

bitset<100010> v;
int fi[100010];
int n, x, i, j;

int main () {
    FILE *fin = fopen("sum.in", "r");
    FILE *fout = fopen("sum.out", "w");

    for (i=1;i<=100000;i++)
        fi[i] = i;
    for (i=2;i<=100000;i++)
        if (!v[i]) {
            for (j=i;j<=100000;j+=i) {
                v[j] = 1;
                fi[j] = fi[j]/i*(i-1);
            }
        }

    fscanf(fin,"%d",&n);
    for(;n--;) {
        fscanf(fin,"%d",&x);
        fprintf(fout, "%lld\n",2LL*x*fi[x]);
    }

    return 0;
}