Cod sursa(job #1005669)
Utilizator | Data | 5 octombrie 2013 14:42:05 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 0 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.47 kb |
#include <stdlib.h>
#include <math.h>
#include <stdio.h>
int main()
{
int *a,n,l=1, i, j;
freopen("ciur.in" , "rt", stdin);
freopen("ciur.out", "wt", stdout);
scanf("%d", &n);
a = (int *) malloc((n+1)*sizeof(int));
for(i=1;i<=n;++i)
a[i] = 1;
for(i=2;i<=sqrt(n);++i)
if(a[i])
for(j=1;j<=n/i;++j)
a[i*j] = 0;
for(i=1;i<=n;++i)
if(a[i])
l++;
printf("%d", l);
return 0;
}