Cod sursa(job #2748653)
| Utilizator | Data | 2 mai 2021 09:15:53 | |
|---|---|---|---|
| Problema | Fractii | Scor | 30 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.63 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("fractii.in");
ofstream fout("fractii.out");
int n;
long long nr = 1;
int Phi(int x)
{
int prod = 1, d = 2;
while(x > 1)
{
int p = 0, tmp = 1;
while(x % d == 0)
{
++p;
x /= d;
tmp *= d;
}
if (p) prod *= (d - 1) * tmp / d;
++d;
if (x > 1 && d * d > x) d = x;
}
return prod;
}
int main()
{
fin >> n;
for (int i = n; i > 1; --i)
{
int tmp = Phi(i);
nr += 2LL * tmp;
}
fout << nr;
fin.close();
fout.close();
return 0;
}
