Pagini recente » Cod sursa (job #305162) | Cod sursa (job #1868737) | Cod sursa (job #746609) | Cod sursa (job #1669959) | Cod sursa (job #119997)
Cod sursa(job #119997)
#include <stdio.h>
int phi[100000],x,n,nmax,a[100000];
int phii(int N) {
int i;
for (int i = 1; i <= N; ++i)
phi[i] = i-1;
for (int i = 2; i <= N; ++i)
for (int j = 2*i; j <= N; j += i)
phi[j] -= phi[i];
}
int main() {
int i;
freopen("sum.in","r",stdin);
freopen("sum.out","w",stdout);
scanf("%d",&n);
for (i=1 ; i <= n;i++) {
scanf("%d",&a[i]);
if (a[i]>nmax)
nmax = a[i];
}
phii(nmax);
for (i=1; i<=n; i++)
if (a[i])
printf("%d\n",2*phi[a[i]]*a[i]);
}