Cod sursa(job #3149118)

Utilizator oana75Ioana Prunaru oana75 Data 6 septembrie 2023 14:59:46
Problema Fractii Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <fstream>

using namespace std;
const int NMAX = 1000001;

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

int ciur[NMAX], N, nr;

void Euler(int n)
{
    for(int i = 1; i <= n; i++)
        ciur[i] = i;
    for(int i = 2; i <= n; i++)
        if(ciur[i] == i)
            for(int j = i; j <= n; j += i)
                ciur[j] -= ciur[j] / i;  ///i este divizor prim al lui j
}

int main()
{
    in >> N;
    Euler(N);
    nr = 1;
    for(int i = 2; i <= N; i++)
        nr += ciur[i] * 2;
    out << nr;
    in.close();
    out.close();
    return 0;
}