Cod sursa(job #935441)

Utilizator rudarelLup Ionut rudarel Data 3 aprilie 2013 14:47:08
Problema Sum Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<stdio.h>
long  long v[100001],n,u[100001];
void eratostene()
    {
    long long i,j;
    for(i=2;i<=100001;i++) v[i]=i;
 
    for(i=2;i<=100001;i++)
        if(u[i]==0)
            {
            j=2;
            v[i]--;
            while(i*j<=100001)
                {
 
                u[i*j]=1;
                v[i*j]=v[i*j]-v[i*j]/i;
                j++;}
            }
    }
int main()
    {
    long long x,sol,t;
    eratostene();
    FILE*g=fopen("sum.out","w");
    FILE*f=fopen("sum.in","r");
    fscanf(f,"%lld",&t);
    for(long i=1;i<=t;++i)
        {
        fscanf(f,"%lld",&x);
        sol=2*v[x]*x;
        fprintf(g,"%lld\n",sol);
        }
    return 0;}