Cod sursa(job #2272501)

Utilizator RaduIonescuRadu Ionescu RaduIonescu Data 30 octombrie 2018 11:03:01
Problema Fractii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.47 kb
#include <iostream>
#include <fstream>

using namespace std;

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

const int VM=1000002;

int e[VM+2];

void euler (int n)
{
    for (int i=2;i<VM;i++)  e[i]=i;

    for (int i=2;i<VM;i++)
        if (e[i]==i)
            for (int j=i;j<VM;j+=i)
                e[j]=e[j]/i*(i-1);
}

int main()
{
    int n;
    long long s=1;
    in>>n;

    euler(n);

    for (int i=1;i<=n;i++)
        s=s+2*e[i];

    out<<s;

    return 0;
}