Cod sursa(job #2768873)

Utilizator IacobTudorIacob Tudor IacobTudor Data 12 august 2021 14:31:30
Problema Fractii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.03 kb
/**
 ____ ____ ____ ____ ____
||O |||M |||E |||G |||A ||
||__|||__|||__|||__|||__||
|/__\|/__\|/__\|/__\|/__\|


Se spune ca sunt vise
Si ca nu pot fi atinse
Sunt primele ce le vezi cand becurile-s stinse
Dar si cand is aprinse
Cand te trezesti cu ele-n gand
Si le vizualizezi din nou rand pe rand
Se spune ca visezi daca stai si-ti imaginezi
Ca esti altfel decat ceilalti, dar nu tre sa crezi
Continua sa lupti altfel imi vei da dreptate
Vei bea pe spate cu gandul la vise spulberate
    - "Vise" - Nane -

Тяжело стать богатым, но тяжелее остаться.

**/
#include<bits/stdc++.h>
using namespace std;
ifstream fin("fractii.in");
ofstream fout("fractii.out");
int n,F[1000005];
int main(){
    fin>>n;
    for(int i=1;i<=n;i++)F[i]=i;
    for(int i=2;i<=n;i++){
        if(F[i]==i){
            F[i]--;
            for(int j=2*i;j<=n;j+=i)F[j]/=i,F[j]*=i-1;
        }
    }
    long long nr(0);
    for(int i=2;i<=n;i++){
        nr+=F[i];
    }
    fout<<2*nr+1;
    return 0;
}