Pagini recente » Cod sursa (job #422803) | Cod sursa (job #2569993) | Cod sursa (job #1924022) | Cod sursa (job #2686752) | Cod sursa (job #144686)
Cod sursa(job #144686)
#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;
for (int ii=4;ii<=n;ii+=2)
prime[ii]=1;
num++;
int sol[1100],nr=0;
gen_prime();
for (int i=n;i>1;i--)
if (prime[i]==0)
{
sol[nr++]=i;
if (nr>1000)
break;
}
nr--;
fout<<num<<"\n";
while (nr>-1)
{
fout<<sol[nr]<<" ";
nr--;
}
fin.close();
fout.close();
return 0;
}