Pagini recente » Borderou de evaluare (job #1637321) | Cod sursa (job #681998) | Cod sursa (job #759652) | A+B | 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);
}