Pagini recente » Cod sursa (job #1675879) | Cod sursa (job #643708) | Cod sursa (job #1369183) | Cod sursa (job #156517) | Cod sursa (job #3732)
Cod sursa(job #3732)
#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);
}