Cod sursa(job #3134550)
Utilizator | Ilie Dumitru Ilie_Mity | Data | 29 mai 2023 13:28:31 |
---|---|---|---|
Problema | Sum | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.53 kb |
//Ilie Dumitru
#include<cstdio>
#include<algorithm>
const int NMAX=100005;
long long int phi[NMAX];
void precalc()
{
int i, j;
for(i=1;i<NMAX;++i)
phi[i]=i-1;
for(i=2;i<NMAX;++i)
{
for(j=i*2;j<NMAX;j+=i)
phi[j]-=phi[i];
}
}
int main()
{
FILE* f=fopen("sum.in", "r"), *g=fopen("sum.out", "w");
//FILE* f=stdin, *g=stdout;
int N, x;
precalc();
fscanf(f, "%d", &N);
do
{
fscanf(f, "%d", &x);
fprintf(g, "%lld\n", phi[x]*x*2);
}while(--N);
fclose(f);
fclose(g);
return 0;
}