while循环:
#include <stdio.h>
#include <stdbool.h>
int main() {
int num = 2; // 从2开始,因为1不是质数
while (num < 1000) {
bool isPrime = true;
int divisor = 2;
while (divisor * divisor <= num) {
if (num % divisor == 0) {
isPrime = false; // 发现除数,不是质数
break;
}
divisor++;
}
if (isPrime) {
printf("%d ", num); // 打印质数
}
num++; // 检查下一个数
}
return 0;
}
for循环:
#include <stdio.h>
#include <stdbool.h>
int main() {
for (int num = 2; num < 1000; num++) { // 从2开始,因为1不是质数
bool isPrime = true;
for (int divisor = 2; divisor * divisor <= num; divisor++) {
if (num % divisor == 0) {
isPrime = false; // 发现除数,不是质数
break;
}
}
if (isPrime) {
printf("%d ", num); // 打印质数
}
}
return 0;
}