Pagini recente » Cod sursa (job #43803) | Cod sursa (job #1816476) | Cod sursa (job #1178969) | Cod sursa (job #2538717) | Cod sursa (job #146777)
Cod sursa(job #146777)
#include <fstream.h>
char prime[2000010];
int n,num=0;
void gen_prime() {
for (long d = 3; d <= 2000010; d+=2) {
prime[d - 1] = 1;
if (prime[d] == 0)
{
num++;
for (long v= 2; v*d <= 2000010; v++)
prime[d * v] = 1;
}
}
prime[2] = 0;
}
int main ()
{
ifstream fin ("ciur.in");
ofstream fout ("ciur.out");
fin>>n;
int sol[1100],nr=0;
gen_prime();
for (int i=n;i>1;i--)
if ((prime[i]==0 && i%2==1) ||(i==2))
{
sol[nr++]=i;
if (nr>999)
break;
}
nr--;
fout<<num<<"\n";
while (nr>-1)
{
fout<<sol[nr]<<" ";
nr--;
}
fin.close();
fout.close();
return 0;
}