Cod sursa(job #597403)
| Utilizator | Data | 22 iunie 2011 00:33:41 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.47 kb |
#include <stdio.h>
#include <math.h>
int vprim[100]={2,3};
int prim(int a)
{
int i,ra;
ra = (int) sqrt(a);
for(i=0;vprim[i]<=ra;i++)
if(a%vprim[i] == 0) return 0;
return 1;
}
int main(void)
{
int i,c=1,N;
freopen("ciur.in","r",stdin);
scanf("%d",&N);
fclose(stdin);
for(i=3;i<=N;i+=2)
if(prim(i))
{
c++;
if (vprim[c]==0) vprim[c]=i;
}
freopen("ciur.out","w",stdout);
printf("%d",c);
fclose(stdout);
return 0;
}
