Cod sursa(job #2497062)

Utilizator EckchartZgarcea Robert-Andrei Eckchart Data 21 noiembrie 2019 23:48:42
Problema Fractii Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
unsigned long N;
unsigned long S = 1;


unsigned long phi(unsigned long n)
{
    unsigned long result = n, p = 2;
    while (p * p <= n)
    {
        if (n % p == 0)
        {
            result -= result / p;
        }
        while (n % p == 0)
        {
            n /= p;
        }
        ++p;
    }

    if (n > 1)
    {
        result -= result / n;
    }
    return result;
}


int main()
{
    std::ifstream fisierIN("fractii.in");
    fisierIN >> N;

    for (unsigned k = 2; k <= N; ++k)
    {
        S += 2 * phi(k);
    }

    std::ofstream fisierOUT("fractii.out");
    fisierOUT << S;
}