Cod sursa(job #391667)

Utilizator horyathebest_10Un tip din Oradea horyathebest_10 Data 6 februarie 2010 01:04:56
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<fstream>

using namespace std;
 
long long s,n;

long fi(long x)
{
	long nr=x,i=2;
    if(x%2==0)
    {
        nr/=2;
        while(x%2==0)x/=2;
    }
    i=3;
    while(i*i<=x)
    {
         if(x%i==0)
         {
             nr/=i;
             nr*=i-1;
             while(x%i==0)x/=i;
         }
         i+=2;
    }
    if(x>1)
    {
        nr/=x;
        nr*=x-1;
    }
    return nr;
}
 
 
int main()
{
    long i;
    ifstream fin("fractii.in");
    ofstream fout("fractii.out");
    fin>>n;
    if(n>1)for(i=2;i<=n;i++)s+=fi(i);
    else s=0;
    fout<<1+(s<<1);
    return 0;
}