Pagini recente » Cod sursa (job #725651) | Cod sursa (job #1499961) | Cod sursa (job #167151) | Cod sursa (job #2358555) | Cod sursa (job #146778)
Cod sursa(job #146778)
#include <fstream.h>
char prime[2000010];
int n,num=0;
void gen_prime() {
for (long d = 3; d <= n; d+=2) {
prime[d - 1] = 1;
if (prime[d] == 0)
{
num++;
for (long v= 2; v*d <= n; 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();
if (n>2)
num++;
for (int i=n;i>1;i--)
if ((prime[i]==0 && i%2==1) ||(i==2))
{
sol[nr++]=i;
if (nr>999)
break;
}
fout<<num<<"\n";
nr--;
while (nr>-1)
{
fout<<sol[nr]<<" ";
nr--;
}
fin.close();
fout.close();
return 0;
}