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