Cod sursa(job #2182693)

Utilizator Andrei2000Andrei Mihailescu Andrei2000 Data 22 martie 2018 16:23:16
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin ("fractii.in");
ofstream fout ("fractii.out");

long long v[1000003];

int main()
{
    int n;
    long long sum=0;
    fin>>n;
    for(int i=1;i<=n;i+=4){
        v[i]=i;
        v[i+1]=i+1;
        v[i+2]=i+2;
        v[i+3]=i+3;
    }
    for(int i=n-4;i<=n;++i)v[i]=i;
    for(int i=2;i<=n;++i){
        if(v[i]==i)
            for(int j=2*i;j<=n;j+=i)
                v[j]=v[j]*(i-1)/i;
        sum+=(v[i]==i?i-1:v[i]);
    }
    fout<<2*sum+1<<'\n';
    return 0;
}