Cod sursa(job #2863156)

Utilizator CristianPavelCristian Pavel CristianPavel Data 6 martie 2022 13:32:05
Problema Fractii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.01 kb
#include <fstream>
#include <cmath>
using namespace std;
ifstream cin("fractii.in");
ofstream cout("fractii.out");
int euler(int n)
{
    int div=2,p=0,ind=1;
    while(n!=1)
    {
        while(n%div==0)
        {
            n/=div;
            p++;
        }
        if(p) ind*=(div-1)*pow(div,p-1);
        div++;
        p=0;
    }
    return ind;
}
int euler2(int n)
{
    int div=2,p=0,ind=n;
    while(n!=1)
    {
        while(n%div==0)
        {
            n/=div;
            p=1;
        }
        if(p) ind=ind*(div-1)/div;
        div++;
        p=0;
    }
    return ind;
}
long long v[1000000];
int main()
{
    int n;
    long long s=1;
    cin>>n;
    for(int i=2;i<=n;i++)
        v[i]=i;
    for(int i=2;i<=n;i++)
    {
        if(v[i]==i){
            v[i]--;
            for(int j=2*i;j<=n;j+=i)
                v[j]=v[j]*(i-1)/i;
        }
    }
    for(int i=2;i<=n;i++)
        s+=v[i]*2;
    cout<<s;
    cin.close();
    cout.close();
    return 0;
}