Cod sursa(job #1393186)

Utilizator pepsiM4A1Ozturk Arif pepsiM4A1 Data 19 martie 2015 10:20:08
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <cstdio>
#include <cmath>
#define DIM 10000
char buff[DIM];
int poz=0;
void citeste(int &numar)
{
     numar = 0;
     while (buff[poz] < '0' || buff[poz] > '9')     
          if (++poz == DIM) 
               fread(buff,1,DIM,stdin),poz=0;
     while ('0'<=buff[poz] && buff[poz]<='9')
     {
          numar = numar*10 + buff[poz] - '0';
          if (++poz == DIM) 
               fread(buff,1,DIM,stdin),poz=0;               
     }     
}
long long phi[100005];
int n,x;
int main()
{
    freopen ("sum.in","r",stdin);
    freopen ("sum.out","w",stdout);
    citeste(x);
    for(int i=1;i<=100000;i++) phi[i]=i-1;
    for(int i=2;i<=100000;i++)
    {
        for(int j=2*i;j<=100000;j+=i) phi[j]-=phi[i];
    }
    for(int vv=1;vv<=x;vv++)
    {
            citeste(n);
            printf("%lld\n",(long long)2*n*phi[n]);
    }
}