Cod sursa(job #916065)
| Utilizator | Data | 15 martie 2013 19:18:02 | |
|---|---|---|---|
| Problema | Sum | Scor | 70 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.56 kb |
#include <fstream>
using namespace std;
FILE*f=fopen("sum.in", "r");
FILE*g=fopen("sum.out", "w");
int i, n, x, j, v[100010];
long long aux;
void ciur(){
for(i=2; i<100001; i++)
v[i]=i;
for(i=2; i<100001; i++)
if(v[i]==i)
for(j=i; j<100001; j+=i)
v[j]=v[j]/i*(i-1);
}
int main(){
ciur();
fscanf(f, "%d", &n);
for(i=1; i<=n; i++)
{
fscanf(f, "%d", &x);
aux=x*2*v[x]*1LL;
fprintf(g, "%lld\n", aux);
}
fclose(f);
fclose(g);
return 0;
}
