Cod sursa(job #2306291)
Utilizator | Data | 21 decembrie 2018 21:43:30 | |
---|---|---|---|
Problema | Fractii | Scor | 10 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.51 kb |
#include <iostream>
#include <cmath>
#include <fstream>
using namespace std;
ifstream in("fractii.in");
ofstream out("fractii.out");
int f (long long int x) {
long long int d = 2;
float p = 1;
long long int cx = x;
while (x != 1) {
if (x % d == 0) {
p = p * (1.0 - 1.0 / (float)d);
while (x % d == 0) {
x /= d;
}
}
d++;
}
return p * cx;
}
int main()
{
long long int n, nr = 0;
in >> n;
for (int i = 1; i <= n; i++) {
nr +=(int) 2 * f(i);
}
out << nr - 1;
}