Cod sursa(job #2505339)
Utilizator | Data | 6 decembrie 2019 18:54:29 | |
---|---|---|---|
Problema | Sum | Scor | 70 |
Compilator | c-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.42 kb |
#include <stdio.h>
#include <stdlib.h>
int v[100001];
int main(){
FILE *fin,*fout;
int n,a,i,d;
fin=fopen("sum.in", "r");
fout=fopen("sum.out", "w");
fscanf(fin, "%d", &n);
for(i=1;i<=100000;i++)
v[i]=i-1;
for(d=2;d<=50000;d++){
for(i=d+d;i<=100000;i+=d)
v[i]-=v[d];
}
for(i=0;i<n;i++){
fscanf(fin, "%d", &a);
fprintf(fout, "%d\n", 2*a*v[a]);
}
fclose(fin);
fclose(fout);
return 0;
}