Mai intai trebuie sa te autentifici.
Cod sursa(job #461888)
Utilizator | Data | 8 iunie 2010 23:01:21 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 90 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.44 kb |
#include<fstream.h>
ifstream f("ciur.in");
ofstream g("ciur.out");
char a[300001];
long i,rezultat=1,n;
void ciur(int n){
int i,j;
for(i=4;i<=n;i+=2)
a[i/8]|=(1<<(i%8));
i=3;
while(i<=n){
do{
i+=2;
}while( (a[i/8] & (1<<(i%8))) && i<=n );
for(j=i+i;j<=n;j+=i) a[j/8]|=(1<<(j%8));
if(i<=n) ++rezultat;
}
}
int main(){
f>>n;
ciur(n);
g<<rezultat<<'\n';
g.close();
return 0;
}