Cod sursa(job #119997)

Utilizator iepuras_binarAlexandru B. iepuras_binar Data 3 ianuarie 2008 21:54:55
Problema Sum Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#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]); 
           
           
       }