Cod sursa(job #3732)

Utilizator shadowmanAlex Matei shadowman Data 28 decembrie 2006 11:50:20
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.46 kb
#include <stdio.h>

char* prime;

int main()
{
	int n, i, j;
	scanf("%d", &n);

	unsigned long long count, x;

	prime = new char[(n / 2)];

	for(i = 0; i <= n / 2; i++)
	{
		prime[i] = 1;
	}

	count = 1 + ((unsigned long long)n)*(n - 1);

	for(i = 2; i <= n/ 2; i++)
	{
		if(prime[i])
		{
			x = (n / i);

			count -= (x)*(x-1);

			for(j = i*2; j <= n / 2; j+= i)
			{
				prime[j] = 0;
			}
		}
	}

	printf("%I64d\n", count);
}