Cod sursa(job #1652177)
| Utilizator | Data | 14 martie 2016 19:09:06 | |
|---|---|---|---|
| Problema | Fractii | Scor | 60 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.6 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("fractii.in");
ofstream out("fractii.out");
long long getphi(long long nr) {
long long cur = nr;
for(long long i = 2;i * i <= nr; ++i)
{
if (nr % i == 0)
{
while(nr % i == 0)nr /= i;
cur = (cur / i) * (i - 1);
}
}
if (nr != 1) cur = cur / nr * (nr - 1);
return cur;
}
int main() {
int n;
in >> n;
long long s = 0;
for(int i = 1; i <= n; i++) {
s += getphi(i);
}
out << s*2-1;
return 0;
}
