Pagini recente » Borderou de evaluare (job #1356739) | Cod sursa (job #585251) | Cod sursa (job #91002) | Cod sursa (job #2702075) | Cod sursa (job #145194)
Cod sursa(job #145194)
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("ciur.in");
ofstream g("ciur.out");
char ciur[2000001];int np=0;
int prime[200002];
int i;
int n;
void make_ciur(int n)
{
for(i=2;i<=2000000;ciur[i]='1',i++);
for(i=2;i<=n;i++)
if (ciur[i]=='1')
{
np++;
prime[np]=i;
for(int j=2;j*i<=n;j++)
ciur[i*j]='0';
} }
int main()
{
f>>n;
int left;
make_ciur(n);
g<<np<<"\n";
if (np<=1000) for(i=1;i<=np;g<<prime[i]<<" ",i++);
else
for(i=np-1000;i<=np;i++)
g<<prime[i]<<" ";
f.close();
g.close();
return 0;
}