Cod sursa(job #1334577)

Utilizator vazanIonescu Victor Razvan vazan Data 4 februarie 2015 15:07:14
Problema Sum Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<cstdio>
using namespace std;
int ciur[200041];
void genciur()
{
    int i, j;
    for(i=2; i<=1000000; ++i)
        ciur[i]=i;
    for(i=2; i<=1000000;++i)
    {
        if(ciur[i]==i)
        {
            for(j=i*2; j<=1000000; j+=i)
                ciur[j]=ciur[j]*(i-1)/i;
            ciur[i]=i-1;
        }
    }
}
int main()
{
    FILE *in=fopen("sum.in", "r"),
         *out=fopen("sum.out", "w");
    int n, x, i;
    genciur();
    fscanf(in, "%d", &n);
    for(i=1; i<=n; ++i)
    {
        fscanf(in, "%d",&x);
        fprintf(out, "%lld\n",(long long)2*x*ciur[x]);
    }
    fclose(in);
    fclose(out);
    return 0;
}