Cod sursa(job #145295)

Utilizator MciprianMMciprianM MciprianM Data 28 februarie 2008 18:17:05
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include<fstream>
using namespace std;
char a[2000001];
int N, cates,i,j,b[1001];
int main(){
  ifstream f("ciur.in");
  f>>N;
  f.close();
  a[0]=1;
  a[1]=1;
  for(i=3; i*i<=N;i++)
    if(a[i]==0){
      for(j=i*i;j<=N;j+=(i<<1))
	a[j]=1;
    }
  ofstream g("ciur.out");
  j=0;
  for(i=1;i<=N;i++)
    if(!a[i]&&(i&1)){
      cates++;
      if(j<1000)
	b[j++]=i;
    }
  g<<cates<<'\n';
  for(i=0;i<j;i++)
    g<<b[i]<<' ';
  g<<'\n';
  g<<'\n';
  g.close();
  return 0;
}