Cod sursa(job #2114471)

Utilizator raduraraduIacob Radu raduraradu Data 25 ianuarie 2018 16:44:19
Problema Fractii Scor 100
Compilator cpp Status done
Runda ichb_10 Marime 0.65 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("fractii.in");
ofstream g("fractii.out");
int div1(int i,int j)
{
    int k=1;
    while(i%j==0)
    {
        i/=j;
        k*=j;
    }
    return k*(j-1);
}
int n;
int phi[1000001];
int main()
{
    long long sol=1;
    f>>n;
    for(int i=2;i<=n;i++)
        if(!phi[i])
        {
            phi[i]=i-1;
            for(int j=2;i*j<=n;j++)
            {
                if(!phi[i*j])
                    phi[i*j]++;
                phi[i*j]*=div1(j, i);
            }
        }
    for(int i=1;i<=n;i++)
        sol+=2*phi[i];
    g<<sol;
    return 0;
}