Cod sursa(job #120002)

Utilizator iepuras_binarAlexandru B. iepuras_binar Data 3 ianuarie 2008 22:04:50
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <stdio.h>
long long int phi[100000],x,n,nmax,a[100001];
long long int rasp;
long long int  phii(long long int N) {
 long long 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() {
    long long 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]) {
           rasp = 2*phi[a[i]]*a[i];
           printf("%lld\n",rasp); 
           } 
           
       }