Cod sursa(job #2456667)

Utilizator etienAndrone Stefan etien Data 15 septembrie 2019 01:43:05
Problema Fractii Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<fstream>
using namespace std;
ifstream fin("fractii.in");
ofstream fout("fractii.out");
int k;
int euler(int x)
{
    int 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;
}
int solve(int x)
{
    int 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);
}