打印1到100之间的质数:C++实现
最编程
2024-08-08 21:00:15
...
下面是一个C++程序,用于输出1到100之间的素数:
#include <iostream>
using namespace std;
int main() {
int i, j;
bool is_prime;
// 从2到100枚举每个数,判断是否为素数
for (i = 2; i <= 100; i++) {
is_prime = true;
// 判断当前数是否为素数
for (j = 2; j <= i / 2; j++) {
if (i % j == 0) {
is_prime = false;
break;
}
}
// 输出素数
if (is_prime) {
cout << i << " ";
}
}
return 0;
}
程序首先定义了三个变量:i
表示当前要判断的数,j
表示用于判断的除数,is_prime
表示当前数是否为素数。
然后程序使用两个循环,首先从2到100枚举每个数,再从2到当前数的一半枚举每个除数,判断当前数是否能够被除数整除。如果存在一个除数能够整除当前数,那么当前数就不是素数,将is_prime
设置为false
,并且退出当前循环。
最后,如果is_prime
为true
,说明当前数是素数,将其输出即可。
程序输出的结果为:2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97。
需要注意的是,这个程序只输出1到100之间的素数。如果需要输出更大的范围内的素数,需要将100改为需要输出的范围的上限。