Cod sursa(job #145171)

Utilizator hulparuadrianhulparu adrian hulparuadrian Data 28 februarie 2008 15:40:24
Problema Ciurul lui Eratosthenes Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("ciur.in");
ofstream g("ciur.out");
short ciur[1500000];
int n,i;
int main()
{
    f>>n;
    f.close();
    int contor=0;
    for(i=2 ; i<=n ; ciur[i]=1 , i++);
for(i=2;i<=n;i++)
       {
                       if (ciur[i]==1)
                       {
                        contor++;
                        for(int j=2;j*i<=n;j++)
                                ciur[j*i]=0;                    
                                     }
                       } 
                       
int t=0;
                       g<<contor<<"\n";
if (contor<=1000)
 {                      for(int i=1;i<=n;i++)
                               if (ciur[i]) g<<i<<" ";
}
else for(i=2;i<=n;i++)
     if(ciur[i]) {cout<<i<<" ";t++;if (t==1001) break;} 
    g.close();
    return 0;
    }