Cod sursa(job #3191981)

Utilizator davidgeo123Georgescu David davidgeo123 Data 11 ianuarie 2024 08:43:16
Problema Fractii Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <bits/stdc++.h>

using namespace std;

const int MAXN=1000001;
int euler[MAXN+1];

void make_euler()
{
    for(int i=1; i<=MAXN; i++)
        euler[i]=i;
    for(int i=2; i<=MAXN; i++)
        if(euler[i]==i)
            for(int j=i; j<=MAXN; j+=i)
                euler[j]-=euler[j]/i;
}
int main()
{
    ifstream fin("fractii.in");
    ofstream fout("fractii.out");
    make_euler();
    int k;
    fin>>k;
    int suma=0;
    for(int i=1; i<=k; i++)
        suma+=euler[i];
    fout<<2*suma-1;
    return 0;
}