Cod sursa(job #610216)

Utilizator IgnitionMihai Moraru Ignition Data 25 august 2011 18:02:54
Problema Fractii Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.44 kb
#include <stdio.h>

#define MN (1000009)

int N, phi[MN];
long long X;

int main()
{
	int i, j;

	freopen("fractii.in", "r", stdin);
	scanf("%d", &N);
	fclose(stdin);

	for(i = 1; i <= N; ++ i)
		phi[i] = i-1;

	for(i = 2; i <= N/2; ++ i) 
		for(j = i+i; j <= N; j += i)
			phi[j] -= phi[i];

	for(i = 1; i <= N; ++ i)
		X += (long long)phi[i];
	X += X+1;

	freopen("fractii.out", "w", stdout);
	printf("%lld\n", X);
	fclose(stdout);

	return 0;
}