Cod sursa(job #147280)

Utilizator skyelHighScore skyel Data 2 martie 2008 19:07:01
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include<fstream>
using namespace std;
#define input "ciur.in"
#define output "ciur.out"
#define Nmax 2000002
int main()
	 {
	 ifstream fin(input);
	 ofstream fout(output);
	 int n,nr=0,rsp[1005];
	 char x[Nmax];
	 memset(x,'0',sizeof(x));
	 fin>>n;
	 for(int i=2;i<=n;++i)
		  if(x[i]=='0')
				{
				nr++;
				if(nr<1001)
					 rsp[nr]=i;
				for(int j=i*i;j<=n;j+=i) x[j]='1';
				}
	 fout<<nr<<"\n";
	 for(int i=1; (i<=nr) && (i<=1000); i++)fout<<rsp[i]<<" ";
	 fin.close();
	 fout.close();	 
	 return 0;
	 }