2-29 用穷举法找出 1~100 间的质数并显示出来。
时间: 2024-09-10 13:18:54 浏览: 80
穷举法是一种简单的算法,它通过遍历所有可能的情况来找出问题的解。在找出1到100之间的所有质数时,我们可以通过遍历这个范围内的每一个数,然后检查每个数是否只能被1和它自身整除。如果一个数只能被1和它自身整除,那么这个数就是质数。
以下是一个简单的穷举法找出1到100间质数的示例步骤:
1. 创建一个空列表用于存放质数。
2. 从2开始到100遍历每一个数。
3. 对于每一个数,检查是否能被小于它的正整数整除(除了1和它自己)。
4. 如果一个数不能被任何小于它的数整除,则这个数是质数,将其添加到质数列表中。
5. 最后显示列表中的所有质数。
使用伪代码表示如下:
```
质数列表 = []
对于 n 从 2 到 100:
假设 n 是质数
对于 i 从 2 到 n-1:
如果 n 能被 i 整除:
n 不是质数
跳出内层循环
如果 n 是质数:
将 n 添加到质数列表中
显示 质数列表
```
根据上述步骤,可以编写相应的程序代码来找出1到100之间的所有质数,并将它们显示出来。
相关问题
c++用穷举法找出1~100的质数并显示出来。分别使用while、do…while语句
在C++中,我们可以使用穷举法(也称为暴力枚举法)通过while或do...while循环找出1到100之间的所有质数。下面分别展示如何用这两种循环结构来完成这个任务:
**使用while循环:**
```cpp
#include <iostream>
using namespace std;
bool isPrime(int num) {
if (num <= 1)
return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return false;
}
return true;
}
int main() {
int start = 1, end = 100;
while (start <= end) {
if (isPrime(start)) {
cout << start << " ";
}
start++;
}
cout << endl;
return 0;
}
```
**使用do...while循环:**
```cpp
#include <iostream>
using namespace std;
bool isPrime(int num) {
if (num <= 1)
return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return false;
}
return true;
}
int main() {
int start = 1, end = 100;
do {
if (isPrime(start)) {
cout << start << " ";
}
start++;
} while (start <= end);
cout << endl;
return 0;
}
```
在这两个例子中,`isPrime`函数用于判断一个数字是否是质数,然后我们在主函数中使用while或do...while循环遍历1到100的数字,如果是质数就打印出来。
用穷举法找出1~100的质数并显示出来。分别使用while、do…while、for循环语句实现
可以回答这个问题。
使用while循环语句实现:
int i = 2;
while (i <= 100) {
int j = 2;
int flag = 1;
while (j <= i / 2) {
if (i % j == ) {
flag = ;
break;
}
j++;
}
if (flag == 1) {
printf("%d ", i);
}
i++;
}
使用do...while循环语句实现:
int i = 2;
do {
int j = 2;
int flag = 1;
do {
if (i % j == ) {
flag = ;
break;
}
j++;
} while (j <= i / 2);
if (flag == 1) {
printf("%d ", i);
}
i++;
} while (i <= 100);
使用for循环语句实现:
for (int i = 2; i <= 100; i++) {
int flag = 1;
for (int j = 2; j <= i / 2; j++) {
if (i % j == ) {
flag = ;
break;
}
}
if (flag == 1) {
printf("%d ", i);
}
}
阅读全文