Pagini recente » Cod sursa (job #1423895) | Cod sursa (job #2837006) | Cod sursa (job #1311754) | Cod sursa (job #1433724) | Cod sursa (job #2476830)
#include <iostream>
#include <fstream>
using namespace std;
long long n;
long long factoriPrimi(long long x){
long long raspuns = x;
if(!(x & 1))
raspuns /= 2;
while(x % 2 == 0)
x/=2;
for (long long d = 3; d * d <= x; d+=2) {
if(x%d == 0){
raspuns /= d;
raspuns *= (d-1);
}
while(x%d == 0)
x/=d;
}
if(x > 1)
raspuns /= x, raspuns *= (x - 1);
return raspuns;
}
int main() {
ifstream f("fractii.in");
ofstream g("fractii.out");
long long final = 1;
f>>n;
for (int i = 2; i <= n; ++i) {
final += 2 * factoriPrimi(i);
}
g<<final;
return 0;
}