Cod sursa(job #1008260)
| Utilizator | Data | 10 octombrie 2013 18:25:23 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 0 |
| Compilator | c | Status | done |
| Runda | Arhiva educationala | Marime | 0.46 kb |
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,j, n, *v,nr=0;
scanf("%d", &n);
v = (int*)malloc(sizeof(int)*n);
for (i = 1; i <= n; i++)
v[i] = 1;
v[1] = 0;
for (i = 2; i <= n; i++)
{
j = i;
if ((i*i < n)&&(v[i]))
while (i*j<=n)
{
v[i*j] = 0;
j++;
}
}
for (i = 1; i <= n; i++)
printf("%d ", v[i]);
for (i = 1; i <= n;i++)
if (v[i])
nr++;
printf("%d", nr);
scanf("%d", &i);
return 0;
}