实际判断可以不用对当前数之前的所有数进行除余判断,只需对之前已求出的素数除余即可。
#include<stdio.h>
int main() {
bool isPrime = true;
int n, i, j;
n = 2;
i = 1; j = 0;
int a[25];
a[0] = 2;
while (n < 100) {
isPrime = true;
for (j = 0; j < i&&isPrime; j++)
{
if (n % a[j] == 0)
{
isPrime = false;
}
}
if (isPrime) {
a[i] = n;
i++;
}
n++;
}
for (j = 0; j < 25; j++)
printf("%d ", a[j]);
return 0;
}