Cod sursa(job #2404297)

Utilizator EduardTudosaEduard Bogdan EduardTudosa Data 12 aprilie 2019 15:02:30
Problema Fractii Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <bits/stdc++.h>

using namespace std;

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

unsigned long long n , p , d , nr;

int main()
{
    fin >> n;
    for(unsigned long long i = 2 ; i <= n ; i ++)
    {
        unsigned long long copie = i;
        d = 2;
        p = i;
        while(copie != 1)
        {
            if(copie % d == 0)
            {
                p /= d;
                p *= d - 1;
                while(copie % d == 0)
                    copie /= d;
            }
            if(d == 2)
                d = 3;
            else
                d += 2;
            if(d * d > copie)
                d = copie;
        }
        nr += p;
    }
    fout << nr * 2 + 1;
    return 0;
}