Pagini recente » Cod sursa (job #3149047) | Cod sursa (job #843297) | Cod sursa (job #1062701) | Cod sursa (job #144532)
Cod sursa(job #144532)
#include <cstdio>
const int maxn = 2000001;
FILE *in = fopen("ciur.in","r"), *out = fopen("ciur.out","w");
int n;
char x[maxn]; // x[i] = 1 daca i nu e prim
int sol[1001];
int main()
{
fscanf(in, "%d", &n);
for ( int i = 4; i <= n; i += 2 )
x[i] = 1;
for ( int i = 3; i*i <= n; i += 2 )
for ( int j = i*i; j <= n; j += i )
x[j] = 1;
int nrp = 0;
for ( int i = n; i > 1; --i )
if ( !x[i] )
{
++nrp;
if ( nrp <= 1000 )
sol[nrp] = i;
else
break;
}
fprintf(out, "%d\n", nrp);
for ( int i = nrp; i; --i )
fprintf(out, "%d ", sol[i]);
fprintf(out, "\n");
return 0;
}