Cod sursa(job #1614015)

Utilizator dinurosca03Rosca Dinu Cristian dinurosca03 Data 25 februarie 2016 19:24:04
Problema Sum Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <stdio.h>
#include <stdlib.h>
long long e[100000];
int euler (int n){
    int i,j;
    for(i=2;i<=n;i++)
        e[i]=i;
    for(i=2;i<=n;i++)
        if(e[i]==i)
            for(j=i;j<=n;j=j+i)
                e[j]=e[j]/i*(i-1);


}
int main()
{
    FILE *dinuin,*dinuout;
    dinuin=fopen("sum.in","r");
    dinuout=fopen("sum.out","w");
    int n,x,i;
    fscanf(dinuin,"%d",&n);
    euler(100000);
    for(i=0;i<n;i++)
    {
        fscanf(dinuin,"%d",&x);
        fprintf(dinuout,"%lld\n",e[x]*2*x);
    }
    fclose(dinuin);
    fclose(dinuout);
    return 0;
}