Cod sursa(job #2592418)
Utilizator | Daniel Popescu darkeagle | Data | 1 aprilie 2020 18:03:20 |
---|---|---|---|
Problema | Sum | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.58 kb |
#include <iostream>
#include <cstdio>
#define nmax 100001
using namespace std;
FILE * f = fopen("sum.in", "r");
FILE * g = fopen("sum.out", "w");
int n;
int phi[nmax];
int main() {
int i, j, x;
fscanf(f,"%d",&n);
phi[1] = 0;
for ( i=1;i<=nmax;i++) phi[i]=i;
for ( i=2;i<=nmax;i++)
if (phi[i]==i)
for (j=i;j<=nmax;j+=i) phi[j] /=i, phi[j] *= (i-1);
long long t;
for (i = 1;i <= n;i++) {
fscanf(f,"%d",&x);
t = (long long)x * phi[x] * 2;
fprintf(g,"%lld\n",t);
}
fclose(f);
fclose(g);
return 0;
}