Cod sursa(job #145173)

Utilizator hulparuadrianhulparu adrian hulparuadrian Data 28 februarie 2008 15:55:53
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("ciur.in");
ofstream g("ciur.out");
char ciur[2000000];int np=0;
int prime[1002];
int i;
int n;
void make_ciur(int n)
{
for(i=2;i<=n;i++)
                 if (ciur[i]==0)
                    {
                                np++;
                                if(np<=1000) prime[np]=i;
                       for(int j=2;j*i<=n;j++)
                               ciur[i*j]=1;         
                                }    }


int main()
{
 f>>n;
 int left;
 make_ciur(n);
 g<<np<<"\n";
 if (np>1000) left=1000;
 else left=np;
 for(i=1;i<=left;i++)
 g<<prime[i]<<" ";   
    
    f.close();
    g.close();
    return 0;
    }