Cod sursa(job #338795)

Utilizator Binary_FireFlorin Pogocsan Binary_Fire Data 6 august 2009 22:25:25
Problema Mins Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 kb
#include <iostream>

using namespace std;

#define NMAX 1000010

int phi[NMAX];

int main()
{
	int N, i, j;
	long long ret = 0;

	freopen("fractii.in","r",stdin);
	freopen("fractii.out","w",stdout);

	cin >> N;

	for ( i = 2; i <= N; ++i )
		if ( !phi[i] )
		{
			ret += i - 1;
			for ( j = 2 * i; j <= N; j += i )
				if ( !phi[j] )
					phi[j] = j - j/i;
				else
					phi[j] -= phi[j]/i;
		}
		else
			ret += phi[i];

	ret = ret * 2 + 1;

	cout << ret << endl;

	return 0;
}