Cod sursa(job #2825075)

Utilizator SeracovanuEdwardSeracovanu Edward SeracovanuEdward Data 3 ianuarie 2022 22:05:32
Problema Fractii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <bits/stdc++.h>
#define ll long long int
using namespace std;
int n;
const int nmax=1e6;
int phi[nmax+5];
static void prec_phi(){
for(int i=1;i<=nmax;++i)phi[i]=i;
for(int i=2;i<=nmax;++i){
    if(phi[i]==i){
    --phi[i];
    for(int j=2*i;j<=nmax;j+=i)
        phi[j]=(phi[j]/i)*(i-1);
    }
}
}
int main()
{
    freopen("fractii.in","r",stdin);
    freopen("fractii.out","w",stdout);
    prec_phi();
    scanf("%d ",&n);
    ll ans=0;
    for(int i=2;i<=n;++i)
        ans+=phi[i];
    printf("%lld ",2*ans+1);
}