Cod sursa(job #147289)

Utilizator skyelHighScore skyel Data 2 martie 2008 19:20:40
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include<stdio.h>
#define input "ciur.in"
#define output "ciur.out"
#define Nmax 2000005
char x[Nmax];
int main()
	 {
	 freopen(input,"r",stdin);
	 freopen(output,"w",stdout);
	 int n,nr=0,rsp[1025],j;
	 scanf("%d",&n);
	 for(int i=2;i<=n;++i)
		  {
		  if(x[i]!='0')
				{
				nr++;
				if(nr<1001)
					 rsp[nr]=i;
				for(j=i*i;(j<=n)&&(i<3000);j+=i) x[j]='0';
				printf("%d %d\n",i,j);
				}
		  }
	 
	 printf("%d\n",nr);
	 for(int i=1; (i<=nr) && (i<=1000); i++) printf("%d ",rsp[i]);
	 return 0;
	 }