Pagini recente » Cod sursa (job #2787162) | Cod sursa (job #1345919) | Cod sursa (job #2234778) | Cod sursa (job #2270901) | Cod sursa (job #2852986)
#include <fstream>
#include <iostream>
#define ull unsigned long long
using namespace std;
unsigned long long dp[2];
ull euler(int n)
{
ull phi = 1;
for (int d = 2; d * d <= n; d++)
if (n % d == 0) {
phi *= d - 1;
n /= d;
while (n % d == 0) {
phi *= d;
n /= d;
}
}
if (n > 1)
phi *= n - 1;
return phi;
}
int main()
{
ifstream f("fractii.in");
int n;
f >> n;
dp[1] = 1;
for (int i = 2; i <= n; ++i) {
dp[i % 2] = dp[(i - 1) % 2] + 2 * euler(i);
}
ofstream g("fractii.out");
g << dp[n % 2];
return 0;
}