Cod sursa(job #2457672)

Utilizator petrisorvmyVamanu Petru Gabriel petrisorvmy Data 18 septembrie 2019 14:52:17
Problema Fractii Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
#define ll long long

using namespace std;
ifstream f("fractii.in");
ofstream g("fractii.out");
ll n, ans;

int Phi(int n)
{
    int d = 2;
    int sup = n, inf = 1;
    while(d * d <= n)
    {
        if(n % d == 0)
        {
            int put = 0;
            while(n % d == 0)
            {
                n /= d;
                put++;
            }
            sup /= d;
            sup *= d - 1;
        }
        d++;
    }
    if(n > 1)
    {
        sup /= n;
        sup *= n - 1;
    }
    return sup;
}

int main()
{
    f >> n;
    for(ll i = 2; i <= n; ++i)
        ans += 2 * Phi(i);
    ans++;
    g << ans;
    f.close();
    g.close();
    return 0;
}