Pagini recente » Cod sursa (job #246845) | Cod sursa (job #2398769) | Cod sursa (job #6548) | Cod sursa (job #1683884) | Cod sursa (job #144540)
Cod sursa(job #144540)
using namespace std;
#include <cstdio>
#include <bitset>
bitset<2000001>prime;
int sol[1001],ns;
int main()
{
int n,i,j,nr=0;
freopen("ciur.in","r",stdin);
scanf("%d", &n);
for(i=4;i<=n;i+=2) prime[i]=1;
for(i=3;i*i<=n;i+=2)
if(!prime[i])
for(j=i*i;j<=n;j+=(i<<1))
prime[j]=1;
freopen("ciur.out","w",stdout);
for(i=n;i>=2;--i)
{
if(ns==1000)break;
if(!prime[i]) sol[++ns]=i;
}
for(i=2;i<=n;++i)if(!prime[i])++nr;
printf("%d\n", nr);
for(i=ns;i>=1;--i)
printf("%d ", sol[i]);
printf("\n");
return 0;
}