Cod sursa(job #2778394)

Utilizator Theodor17Pirnog Theodor Ioan Theodor17 Data 1 octombrie 2021 12:13:55
Problema Fractii Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <fstream>

using namespace std;

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

int n, k;
short indicator[1000001];

void ind_euler(){

    for(int i = 1; i <= n; i++)
        indicator[i] = i;

    for(int i = 2; i <= n; i++){

        if(indicator[i] == i){

            indicator[i]++; // il pun si pe 1

            for(int j = i; j <= n; j += i)
                indicator[j] = indicator[j] / i * (i - 1);
        
        }

    }
    
    k = 1;
    for(int i = 2; i <= n; i++)
        k += 2 * indicator[i];

    cout << k;

}

int main(){

    cin >> n;
    ind_euler();

}