Pagini recente » Cod sursa (job #961656) | Istoria paginii runda/b0ss_d3_b0ss_5/clasament | Cod sursa (job #293864) | Diferente pentru preoni-2008/clasament/runda-finala/11-12 intre reviziile 4 si 3 | Cod sursa (job #2553591)
#include <fstream>
//φ(n)
//CERINTA : Se da numarul n, cate fractii ireductibile se pot forma cu elementele multimii {1, 2, 3, ... ,n}
using namespace std;
ifstream in("fractii.in");
ofstream out("fractii.out");
/*
int phi(int n)
{
int r = n , d = 2;
while(n > 1)
{
if(n % d == 0)
{
r = r / d * (d - 1);
while(n % d == 0)
n /= d;
}
d ++;
if(d * d > n)
d = n;
}
return r;
}
*/
int main()
{
int n , s = 0;
in>>n;
int partial[n+1];
for(int i = 1; i <= n ; i++)
partial[i] = i;
for(int i = 2; i <= n ; i++)
if(partial[i] == i)
{
partial[i] --;
for(int j = 2; j * i <= n ; j++)
partial[i * j] = partial[i * j] / i * (i - 1);
}
for(int i = 1; i <= n; i++)
{
s += 2 * partial[i];
}
out<<s;
}