Cod sursa(job #260790)
| Utilizator | Data | 17 februarie 2009 15:50:44 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.48 kb |
#include<stdio.h>
#include<stdlib.h>
#define NMAX 200//0000
int main(){
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
int vprim[NMAX+1]={1,1}, vsume[NMAX+1];
char sir[20],*p;
long long i,j,q,n,b;
scanf("%lld\n",&n);
for(i=2;i<=n;i++){
if(vprim[i]==0)
for(j=2;j*i<=n;j++)
vprim[j*i]=1;
}
vsume[0]=0;
for(i=1;i<=n;i++){
if(vprim[i]==0)
vsume[i]=vsume[i-1]+1;
else vsume[i]=vsume[i-1];
}
printf("%d\n",vsume[n]);
return 0;
}
