Cod sursa(job #461883)

Utilizator vladtarniceruVlad Tarniceru vladtarniceru Data 8 iunie 2010 22:54:32
Problema Ciurul lui Eratosthenes Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include<fstream.h>
 ifstream f("ciur.in");
  ofstream g("ciur.out");
    char a[250001];
	int i,rezultat=0,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;
			}while( (a[i/8] & (1<<(i%8))) );
			for(j=i+i;j<=n;j+=i) a[j/8]|=(1<<(j%8));
			++rezultat;
		}
	}
	int main(){
		f>>n;
		ciur(n);
		g<<rezultat<<'\n';
		g.close();
		return 0;
	}