Pagini recente » Cod sursa (job #900348) | Cod sursa (job #2446797) | Cod sursa (job #2215538) | Cod sursa (job #2600108) | Cod sursa (job #144678)
Cod sursa(job #144678)
#include <fstream.h>
char prime[2000100];
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;
}