Cod sursa(job #2302608)

Utilizator DariusDCDarius Capolna DariusDC Data 14 decembrie 2018 21:18:21
Problema Fractii Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <iostream>
#include <fstream>
#define NMAX 1000001

using namespace std;

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


int phi[NMAX];
int n;

int main()
{
    fin >> n;
    int s = 0;
    for (int i=1;i<=n;i++)
        phi[i] = i;
    for (int i=2;i<=n;i++)
    {
        if (phi[i] == i)
            for (int j=i;j<=n;j+=i)
        {
            phi[j] = phi[j] / i;
            phi[j] = phi[j] * (i-1);
        }
        s+=phi[i];
    }
    fout << 1 + 2 * s;

    return 0;
}