Cod sursa(job #2114179)

Utilizator fansalamBalan-Tribus Leon-Roland fansalam Data 25 ianuarie 2018 15:15:37
Problema Fractii Scor 30
Compilator cpp Status done
Runda ichb_10 Marime 0.6 kb
#include <fstream>
using namespace std;
ifstream g("fractii.in");
ofstream h("fractii.out");
int c[1000001], s=1, n, i, j;
int r(int x, int y)
{
    int s=0, p=1;
    while(x%y==0)
    {
        x/=y;
        s++;
        p*=y;
    }
    return p/y*(y-1);
}
int main()
{
    g>>n;
    for(i=2;i<=n;i++)
        if(c[i]==0)
        {
            c[i]=i-1;
            for(j=2*i;j<=n;j+=i)
            {
                if(c[j]==0)
                    c[j]++;
                c[j]*=r(j, i);
            }
        }
    for(i=1;i<=n;i++)
        s+=2*c[i];
    h<<s;
    return 0;
}