编写一个 prime 函数,判断一个正整数是否为素数,如果是素数,函数返回1,否则返回0。在主函数中输入一个正整数,调用 prime 判断它是否为素数并输出。
时间: 2023-05-31 22:18:02 浏览: 3025
### 回答1:
以下是 Python 代码实现:
```python
def prime(n):
if n <= 1:
return 0
for i in range(2, int(n**0.5)+1):
if n % i == 0:
return 0
return 1
n = int(input("请输入一个正整数:"))
if prime(n):
print(n, "是素数")
else:
print(n, "不是素数")
```
函数 prime(n) 的实现思路是:如果 n 小于等于 1,直接返回 0;否则从 2 到 n 的平方根遍历,如果存在一个数能整除 n,说明 n 不是素数,返回 0;否则 n 是素数,返回 1。
在主函数中,先输入一个正整数 n,然后调用 prime(n) 判断 n 是否为素数,如果是素数,输出 n 是素数;否则输出 n 不是素数。
### 回答2:
素数又称为质数,指在大于1的自然数中,除了1和它本身以外没有其他因数的数。编写一个prime函数,可以实现判断一个正整数是否为素数的功能。思路是判断该数是否可以被2到 (sqrt(n)) 之间的数整除,如果不能整除则为素数。
代码实现如下:
```c++
#include <iostream>
#include <cmath>
using namespace std;
int prime(int num) {
if(num == 1)
return 0;
for(int i = 2; i <= sqrt(num); i++) {
if(num % i == 0)
return 0;
}
return 1;
}
int main() {
int num;
cout << "请输入一个正整数:";
cin >> num;
if(prime(num))
cout << "是素数" << endl;
else
cout << "不是素数" << endl;
return 0;
}
```
解析:
- 先定义了prime函数,接受一个正整数参数num;
- 判断num是否等于1,如果等于1,直接返回0,因为1不是素数;
- 利用for循环,从2开始依次判断该数能否被2到 (sqrt(n)) 之间的数整除,如果能整除,则返回0,否则返回1;
- 在主函数中输入一个正整数,调用prime函数判断它是否为素数,如果是素数则输出“是素数”,否则输出“不是素数”。
这样,我们就可以通过prime函数判断一个正整数是否为素数。
### 回答3:
素数是指只能被1和自身整除的正整数,比如2、3、5、7、11、13等等。编写一个prime函数,判断一个正整数是否为素数,可以通过试除法来实现。首先,我们可以通过取模操作(%)来判断一个数能否被另一个数整除。然后,我们可以从2开始,一直试除到这个数的平方根。如果在这个过程中,有一个数可以整除待判断的整数,那么这个数就不是素数。如果一直试除到平方根都没有一个数可以整除待判断的整数,那么这个数就是素数。
下面是实现一个prime函数的代码:
```
int prime(int n){
if(n<=1) return 0; // 1不是素数
int flag = 1;
for(int i=2; i<=sqrt(n); i++){
if(n%i==0){
flag = 0;
break;
}
}
return flag;
}
```
在主函数中,我们可以以以下方式调用prime函数来判断一个数是否是素数:
```
int main(){
int n;
cin >> n;
if(prime(n)){
cout << n << "是素数" << endl;
}else{
cout << n << "不是素数" << endl;
}
}
```
这个程序会首先从用户输入一个正整数n,然后调用prime函数来判断n是否为素数。如果是素数,程序输出“n是素数”,如果不是素数,程序输出“n不是素数”。
需要注意的一点是,如果一个数小于等于1,它不是素数。在prime函数中,我们加入了一个判断语句来处理这种情况。
阅读全文