Pagini recente » Cod sursa (job #2502987) | Cod sursa (job #774442) | Cod sursa (job #1451632) | Cod sursa (job #1718427) | Cod sursa (job #144823)
Cod sursa(job #144823)
#include <stdio.h>
int n, sol[1005], cnt, nr;
char ciur[2000002];
void erat()
{
int i, j;
for (i = 4; i <= n; i += 2) ciur[i] = 1;
nr = 1;
for (i = 3; i <= n; i += 2)
{
if (!ciur[i]) { for (j = 2; i * j <= n; j++) ciur[i * j] = 1; nr++;}
}
}
int main()
{
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
scanf("%d",&n);
erat();
int i;
for (i = n; i >= 2; i--)
{
if (!ciur[i]) sol[++cnt] = i;
if (cnt == 1000) break;
}
printf("%d\n",nr);
for (i = cnt; i >= 1; i--) printf("%d ",sol[i]);
return 0;
}