编写一个判断素数的函数,主函数中调用这个函数,输出100与200之间的所有素数,每行输出5个数。
时间: 2023-05-31 14:18:59 浏览: 614
历年计算机三级考试题库.pdf
### 回答1:
以下是一个判断素数的函数:
```python
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
```
主函数中可以调用这个函数,输出100与200之间的所有素数,每行输出5个数:
```python
count = 0
for i in range(100, 201):
if is_prime(i):
print(i, end=' ')
count += 1
if count % 5 == 0:
print()
```
输出结果如下:
```
101 103 107 109 113
127 131 137 139 149
151 157 163 167 173
179 181 191 193 197
199
```
### 回答2:
素数指的是只能被1和本身整除的正整数。因此,编写一个判断素数的函数需要遍历除1和本身之外的所有正整数,看是否存在能整除该数字的数,如果存在,则该数字不是素数。
以下是判断素数的函数:
```
bool isPrime(int num) {
if (num <= 1) { // 1不是素数
return false;
}
for (int i = 2; i * i <= num; i++) { // 只需要遍历到num的平方根即可
if (num % i == 0) { // 存在一个能整除num的数
return false;
}
}
return true;
}
```
在主函数中调用这个函数,输出100与200之间的所有素数,每行输出5个数。主要思路是从100到200遍历每一个数字,判断该数字是否是素数,如果是,则输出该数字。每输出5个数字就换行,使用一个计数器来计算已经输出的数字数量。
以下是主函数的代码:
```
int main() {
int count = 0; // 计数器
for (int i = 100; i <= 200; i++) { // 遍历100到200之间的数字
if (isPrime(i)) { // 如果该数字是素数
cout << i << " "; // 输出该数字
count++;
if (count % 5 == 0) { // 如果输出了5个数字
cout << endl; // 换行
}
}
}
return 0;
}
```
完整代码如下:
```
#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 count = 0;
for (int i = 100; i <= 200; i++) {
if (isPrime(i)) {
cout << i << " ";
count++;
if (count % 5 == 0) {
cout << endl;
}
}
}
return 0;
}
```
### 回答3:
素数指的是只能被1和它本身整除的数,比如2、3、5、7等等。那么编写一个判断素数的函数就需要一个数学思维,我们可以通过试除法来判断一个数是否为素数。试除法指的是将这个数逐个除以从2开始的所有小于这个数的数,如果都不能整除,那么这个数就是素数。
接下来是具体的函数实现:
```python
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
```
函数的参数为一个数字,返回值为一个布尔值,表示这个数字是否为素数。首先判断这个数字是否小于2,如果是,则不是素数。然后从2开始到这个数的平方根加1的范围内进行循环,因为如果这个数能被这个范围内的数整除,那么它就一定能被范围外的数整除,所以范围可以缩小。循环过程中,如果有一个数可以整除这个数字,那么这个数字就不是素数,返回False。否则就是素数,返回True。
接下来是主函数的实现:
```python
count = 0
for i in range(100, 201):
if is_prime(i):
print(i, end=' ')
count += 1
if count % 5 == 0:
print('\n')
```
主函数通过遍历100到200之间的所有数,调用判断素数的函数,如果是素数就输出,并且用count记录输出的个数,当count能被5整除时,就进行换行。这样就输出了所有100到200之间的素数,并且每行输出5个数。
阅读全文