Pagini recente » Cod sursa (job #375623) | Cod sursa (job #534794) | Cod sursa (job #1683276) | Cod sursa (job #294693) | Cod sursa (job #144959)
Cod sursa(job #144959)
#include <stdio.h>
#include <fstream>
using namespace std;
#define in "ciur.in"
#define out "ciur.out"
#define dim 2000001
int N;
int Nr[1001];
bool Sel[dim];
int main()
{
memset(Sel,0,sizeof(Sel));
freopen(in,"r",stdin);
freopen(out,"w",stdout);
scanf("%d", &N);
for ( int i = 2; i*i <= N; i++ )
{
if ( Sel[i] ) continue;
for ( int j = 2; i*j <= N; j++ ) Sel[i*j] = 1;
}
int size = 0;
for ( int i = N; i >= 2; i-- )
{
if ( !Sel[i] ) Nr[++size] = i;
if ( size == 1000 ) break;
}
printf("%d\n",size);
for ( ; size; size-- )
printf("%d ", Nr[size]);
}