Cod sursa(job #181218)

Utilizator firewizardLucian Dobre firewizard Data 18 aprilie 2008 01:38:19
Problema Sum Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <stdio.h>
#include <math.h>
#define INF 100000
char v[100000];
long n,x,i,j,ttnt,s,nr,c,p[10000],sq;
int main()
{
    freopen("sum.in","r",stdin);
    freopen("sum.out","w",stdout);
    
    c=1;
    p[1]=2;
    for(i=3;i<=INF;i=i+2)      
    if(!v[i]) {p[++c]=i;
    for(j=3*i;j<=INF;j=j+2*i)v[j]=1;} 
    scanf("%ld\n",&n);
    for(;n;n--)
    {
        scanf("%ld",&x);
        j=1;
        ttnt=x;nr=x; 
        while (nr>1){       
              if (nr%p[j]==0){
                 while(nr%p[j]==0)nr/=p[j];
                 ttnt=ttnt*(p[j]-1)/p[j];
                 }
              j++;
              }
        s=2*ttnt*x;
        printf("%ld\n",s);
        ttnt=0;s=0;
    }
    return 0;
}