Pagini recente » Borderou de evaluare (job #1088892) | Cod sursa (job #2116491) | Cod sursa (job #1755258) | Cod sursa (job #2123306) | Cod sursa (job #2497019)
#include <fstream>
int N;
unsigned long S = 1;
int phi(int n)
{
int result = n, p = 2;
while (p * p <= n)
{
if (n % p == 0)
{
while (n % p == 0)
{
n /= p;
}
result -= result / p;
}
++p;
}
if (n > 1)
{
result -= result / n;
}
return result;
}
int main()
{
std::ifstream fisierIN("fractii.in");
fisierIN >> N;
fisierIN.close();
for (int k = 2; k <= N; ++k)
{
S += 2U * phi(k);
}
std::ofstream fisierOUT("fractii.out");
fisierOUT << S;
fisierOUT.close();
return 0;
}