Cod sursa(job #2646681)

Utilizator loraclorac lorac lorac Data 1 septembrie 2020 17:47:11
Problema Fractii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <bits/stdc++.h>
using namespace std;
ifstream in("fractii.in");
ofstream out("fractii.out");
typedef long long ll;
const ll lim=1e6+3;
bool ok[lim];
ll phi[lim];
int main()
{
    ll n;
    in>>n;
    for(ll i=1;i<=n;++i)
        phi[i]=i;
    ll ans=0;
    for(ll i=2;i<=n;++i)
    {
        if(!ok[i])
        {
            phi[i]=i-1;
            for(ll j=2*i;j<=n;j+=i)
            {
                ok[j]=1;
                phi[j]=(phi[j]*(i-1))/i;
            }
        }
        ans+=phi[i];
    }
    out<<2*ans+1<<'\n';
    return 0;
}