Pagini recente » Cod sursa (job #1054984) | Cod sursa (job #2951956) | Cod sursa (job #2289564) | Cod sursa (job #2093864) | Cod sursa (job #146838)
Cod sursa(job #146838)
#include <cstdio>
#include <cstring>
char *P;
long printed;
long ciur(long n) {
P = new char[n+10];
memset(P, 0, sizeof(char)*(n+10));
long i,j,nr=0;
for (i=2; i<=n; ++i)
if ( P[i]==0 ) {
for (j=2*i; j<=n; j+=i)
P[j] = 1;
++nr;
}
return nr;
}
void print(long i) {
if ( i==1 || printed==0 )
return ;
if ( P[i]==0 ) {
--printed;
print(i-1);
printf("%ld ",i);
} else
print(i-1);
}
int main() {
long n;
fscanf(fopen("ciur.in", "r"), "%ld",&n);
freopen("ciur.out", "w", stdout);
printf("%ld\n", ciur(n));
printed = 1000;
print(n);
printf("\n");
return 0;
}