Cod sursa(job #2827678)

Utilizator ionelia.danielaIonelia Daniela ionelia.daniela Data 6 ianuarie 2022 09:28:58
Problema Fractii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <iostream>
#include <cmath>
#include <fstream>

using namespace std;
ifstream fin("fractii.in");
ofstream fout("fractii.out");
int n, s = 0;

int indicator_euler(int n)
{
    int d = 2, f = 1, cnt = 1, copie = n;
    while(n > 1)
    {
        int p = 0;
        while(n % d == 0)
            n /= d, p++;
        f *= ((d - 1) * pow(d, p - 1));
        cnt *= (p + 1);
        d++;
        if(d * d > n)
            d = n;
    }
    if(cnt == 2)
        return copie - 1;
    else
        return f;
}

int main()
{
    fin >> n;
    for(int i = 1; i <= n; ++i)
    {
        s += (2 * indicator_euler(i));
    }
    fout << s - 1;
    return 0;
}