Pagini recente » Cod sursa (job #2049054) | Cod sursa (job #1066790) | Cod sursa (job #1151922) | Cod sursa (job #2585266) | Cod sursa (job #149647)
Cod sursa(job #149647)
#include<fstream.h>
ifstream f("ciur.in");
ofstream g("ciur.out");
char prim[1000005];
long long n,p;
int main()
{f>>n;
int j,i=1,prostie;
int nr=2;
int prod=(2*i+1)*(2*i+1);
int ceva=2*i+1;
while(prod<n)
{for(j=(prod-1)/2;j<=n/2;j+=ceva)
prim[j]=1;
i++;
while(prim[i]==1) i++;
prod=(2*i+1)*(2*i+1);
ceva=2*i+1;
nr++;
}
for(i=i+1;i<n/2;i++)
if(prim[i]==0) nr++;
g<<nr<<'\n';
if(nr<=1000)
{g<<2<<' ';
nr--;
for(i=1;nr>0;i++)
if(prim[i]==0) {g<<2*i+1<<' ';nr--;}
}
else {i=n/2;
int cnt=1000;
while(cnt>0)
{if(prim[i]==0)
cnt--;
i--;}
while(prim[i]==1) i++;
g<<2*i+1<<' ';
i++;
//prostie=0;
cnt=1;
for(;cnt<1000;i++)
if(prim[i]==0) {g<<2*i+1<<' ';cnt++;}
}
//g<<endl<<prostie;
f.close();
g.close();
return 0;
}