Cod sursa(job #2544956)

Utilizator dvp123Pescariu David dvp123 Data 12 februarie 2020 18:36:58
Problema Fractii Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <bits/stdc++.h>
using namespace std;

ifstream fin("fractii.in");
ofstream fout("fractii.out");

int n;

int phi(int nr){
    /**
    @brief Indicatorul lui Eratostene
    **/
    int sol = nr;
    int d = 2;

    while(nr > 1){
        if(nr % d == 0){
            sol = sol / d * (d - 1);
            while(nr % d == 0){
                nr /= d;
            }
        }
        ++d;
        if(d * d > nr){
            d = nr;
        }
    }

    return sol;
}

int solve(){
    int k = 0;

    for(int i=2; i<=n; ++i){
        k += phi(i);
    }
    k *= 2;
    ++k;

    return k;
}

int main()
{
    fin >> n;
    fout << solve();
}