Cod sursa(job #1740263)
| Utilizator | Data | 11 august 2016 12:29:14 | |
|---|---|---|---|
| Problema | Sum | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.51 kb |
#include <cstdio>
#define MAXN 100000
int v[MAXN+1];
int main()
{
FILE *fin, *fout;
int n, i, d;
for(i=1; i<=MAXN; i++)
v[i]=i;
for(i=2; i<=MAXN; i++)
if(v[i]==i)
for(d=i; d<=MAXN; d+=i)
v[d]=v[d]/i*(i-1);
fin=fopen("sum.in", "r");
fscanf(fin, "%d", &n);
fout=fopen("sum.out", "w");
for(i=0; i<n; i++){
fscanf(fin, "%d", &d);
fprintf(fout, "%lld\n", 2LL*v[d]*d);
}
fclose(fin);
fclose(fout);
return 0;
}
