Pagini recente » Cod sursa (job #286912) | Clasament Grigore Mosil 2016 Clasa a 9-a | Cod sursa (job #2158664) | Cod sursa (job #1797550) | Cod sursa (job #2211743)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("fractii.in");
ofstream fout ("fractii.out");
int phi (int n)
{
float result = n;// Initialize result as n because n ill lost his value;
for (int i = 2; i*i <= n; i++)
{
if (n % i == 0)
{
while (n % i == 0)
{
n /= i;
}
result *= (1.0 - (1.0 / (float)i));
}
}
if (n > 1)
{
result *= (1.0 - (1.0 / (float)n));
}
return (int)result;
}
int main ()
{
int n,ind;
fin >> n;
long long nr = n;
for (int i = 2; i <= n; i++)
{
ind = phi (i);
if (i != n ) nr += ind +(n - (n/i + ind));
else nr += ind;
}
fout << nr;
return 0;
}