Pagini recente » Cod sursa (job #1770328) | Cod sursa (job #1120475) | Cod sursa (job #2635288) | Cod sursa (job #1415501) | Cod sursa (job #1795630)
#include <iostream>
#include <cstdio>
using namespace std;
int n = 100000;
int e[100001];
FILE *f, *g;
void ciur()
{
int i, j;
// e[1].sum = e[1].prod = 1;
for(i = 1; i <= n; i ++)
e[i] = i;
for(i = 2; i <= n; i += 2)
{
e[i] /= 2;
}
for(i = 3; i <= n; i += 2)
{
if (e[i] == i)
for(j = i; j <= n; j += i)
{
e[j] = e[j] / i * (i - 1);
}
}
// for(i = 1; i <= n; i ++)
// printf("*%d ", e[i].euler);
}
void solve()
{
f = fopen("sum.in", "r");
g = fopen("sum.out", "w");
fscanf(f, "%d", &n);
int i, nr;
for(i = 1; i <= n; i ++)
{
fscanf(f, "%d", &nr);
fprintf(g, "%lld\n",1LL * e[nr] * 2 * nr);
}
fclose(f);
fclose(g);
}
int main()
{
ciur();
solve();
return 0;
}