Cod sursa(job #978214)

Utilizator sddddgjdZloteanu Anastasia sddddgjd Data 28 iulie 2013 12:26:09
Problema Sum Scor 75
Compilator c Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<stdio.h>
#define N 100000
int ind[N+1];
void preprocesare()
{
    int i;
    for(i=1;i<=N;++i)
        ind[i]=i;
    int j;
    for(i=2;i<=N;++i)
        if(ind[i]==i)
            for(j=i;j<=N;j+=i)
                ind[j]=ind[j]/i*(i-1);
}
int main()
{
    FILE *fin,*fout;
    fin=fopen("sum.in","r");
    fout=fopen("sum.out","w");
    int n;
    fscanf(fin,"%d",&n);
    preprocesare();
    int i;
    for(i=0;i<n;i++)
    {
        int var;
        fscanf(fin,"%d",&var);
        long long rez=var*ind[var];
        fprintf(fout,"%lld\n",rez*2);
    }
    fclose(fin);
    fclose(fout);
    return 0;
}