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