ある整数以下の素数を発見するアルゴリズム
#include <stdio.h>
main()
{
int n;
printf("Type in the integer.\n");
scanf("%d", &n);
if (n<=0) {
printf("Invalid number.\n");
exit(1);
}
int i, m, n;
int arr[n+1], prim[n+1];
arr[0] = 0;
// step 1
arr[1] = 0;
m = 2;
n = 0;
do {
for (i=2*m; i<n+1; i+=m) {
arr[i] = 0;
}
prim[n] = m;
n++;
do {
m++;
} while (arr[m] === 0 && m < n+1);
} while (m < n+1);
for (i=0; i<n; i++) {
printf("%3d\n", prim[i]);
}
}