Cod sursa(job #2778391)

Utilizator Razvan_GabrielRazvan Gabriel Razvan_Gabriel Data 1 octombrie 2021 11:55:07
Problema Fractii Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <iostream>
#include <fstream>

using namespace std;

int e[1000001];

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

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

    int n;
    fin >> n;

    euler(n);

    int raspuns = 0;
    for(int i = 2; i <= n; i++){
        raspuns += e[i];
    }

    raspuns *= 2;
    raspuns++;

    fout << raspuns;

    return 0;
}