Cod sursa(job #2278291)

Utilizator HD650Stoicescu Adrian Nicolae HD650 Data 7 noiembrie 2018 16:23:03
Problema Fractii Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("fractii.in");
ofstream g("fractii.out");
int Phi(int n)
{
    int p = n;
    if(n % 2 == 0)
    {
        p /= 2;
        while(n % 2 == 0)
            n /= 2;
    }
    for(int d = 3; d * d <= n; d += 2)
    {
        if(n % d == 0)
        {
            p = p / d * (d - 1);
            while(n % d == 0)
                n /= d;
        }
    }
    if(n > 1)
        p = p / n * (n - 1);
    return p;
}
int main()
{
    int n;
    long long nr=0;
    f >> n;
    for(int i=1;i<=n;i++)
        nr+=Phi(i);
    g<<nr*2-1;
    return 0;
}