Cod sursa(job #2404285)
| Utilizator | Data | 12 aprilie 2019 14:49:08 | |
|---|---|---|---|
| Problema | Fractii | Scor | 40 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.73 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("fractii.in");
ofstream fout("fractii.out");
unsigned int n , p , d , nr;
int main()
{
fin >> n;
for(unsigned int i = 2 ; i <= n ; i ++)
{
unsigned 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;
}
