Pagini recente » Cod sursa (job #1980041) | Cod sursa (job #1233353) | Cod sursa (job #1366895) | Cod sursa (job #2089114) | Cod sursa (job #2949144)
#include <fstream>
std::ifstream fin("fractii.in");
std::ofstream fout("fractii.out");
using ull = unsigned long long;
ull phi (ull n) {
int res = n, div = 3, exp = 0;
while (!(n & 1))
exp += 1, n >>= 1;
if (exp > 0)
res >>= 1;
while (div * div <= n) {
exp = 0;
while (!(n % div))
exp += 1, n /= div;
if (exp > 0)
res *= div - 1, res /= div;
div += 2;
}
if (n > 1)
res *= n - 1, res /= n;
return res;
}
int main () {
ull n; fin >> n;
long long res = 0;
for (ull i = 2; i <= n; i += 1)
res += phi (i);
fout << 1 + 2 * res;
return 0;
}