Cod sursa(job #1179768)
Utilizator | Data | 29 aprilie 2014 11:22:20 | |
---|---|---|---|
Problema | Sum | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.58 kb |
#include <stdio.h>
using namespace std;
FILE*f=fopen("sum.in","r");
FILE*g=fopen("sum.out","w");
unsigned long i,phi[10000000],n[100000],max,j,t;
int main()
{
fscanf(f,"%d",&t);
for(i=1;i<=t;i++)
{
fscanf(f,"%lu",&n[i]);
if(n[i]>max) max=n[i];
}
//calculez phi
for(i=1;i<=max+1;i++)
phi[i]=i-1;
for(i=1;i<=max;i++)
for(j=2*i;j<=max;j++)
phi[j]-=phi[i];
for(i=1;i<=t;i++)
fprintf(g,"%lu\n",(2*n[i]-2*phi[2*n[i]])*n[i]);
fclose(f);
fclose(g);
return 0;
}