Mai intai trebuie sa te autentifici.

Cod sursa(job #1333992)

Utilizator cautionPopescu Teodor caution Data 3 februarie 2015 19:56:12
Problema Fractii Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>
using namespace std;
long eulerInd(long x)
{
    long r=1, aux=0;
    while(x%2==0)
    {
        x/=2;
        ++aux;
    }
    for(long j=1; j<aux; ++j)
        r*=2;
    aux=0;
    for(long i=3; i<=x; i+=2)
    {
        while(x%i==0)
        {
            x/=i;
            ++aux;
        }
        if(aux) r*=i-1;
        for(long j=1; j<aux; ++j)
            r*=i;
        aux=0;
    }
    return r;
}
int main()
{
    ifstream in("fractii.in");
    ofstream out("fractii.out");
    long n;
    long long r=1;
    in>>n;
    for(long i=2; i<=n; ++i)
        r+=2*eulerInd(i);
    out<<r<<'\n';
    in.close(); out.close();
    return 0;
}