Cod sursa(job #2456668)

Utilizator etienAndrone Stefan etien Data 15 septembrie 2019 01:44:23
Problema Fractii Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<fstream>
using namespace std;
ifstream fin("fractii.in");
ofstream fout("fractii.out");
long long k;
long long euler(long long x)
{
    long long d,cx=x;
    for(d=2;d*d<=x;d+=d%2+1)
    {
        if(x%d==0)
        {
            cx/=d;
            cx*=d-1;
            while(x%d==0)
                x/=d;
        }
    }
    if(x>1)
    {cx/=x;
    cx*=x-1;}
    return cx;
}
long long solve(long long x)
{
    long long i,s=0;
    for(i=1;i<=x;i++)
        s+=euler(i);
    s*=2;
    s-=1;
    return s;
}
int main()
{
    fin>>k;
    fout<<solve(k);
}