编写一个函数判断一个正整数是否为素数
时间: 2023-09-14 08:11:46 浏览: 56
以下是Python语言的实现:
```python
def is_prime(n):
"""
判断一个正整数是否为素数
"""
if n <= 1:
return False
# 从2到n-1遍历,判断能否整除n
for i in range(2, n):
if n % i == 0:
return False
return True
```
解释一下实现思路:
- 如果n小于等于1,则不是素数,返回False。
- 从2到n-1遍历(不包括n),如果n能被任意一个数整除,则不是素数,返回False。
- 如果n不能被任何一个数整除,则是素数,返回True。
测试一下:
```python
print(is_prime(2)) # True
print(is_prime(3)) # True
print(is_prime(4)) # False
print(is_prime(13)) # True
print(is_prime(15)) # False
```
相关问题
编写一个函数prime,判断一个正整数是否为素数。
好的,我可以帮你编写一个判断素数的函数。以下是函数代码:
```
def 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
```
该函数的思路是通过循环判断这个数是否能被除了1和其本身以外的数整除。如果可以,那么说明这个数不是素数,返回False;否则,这个数就是素数,返回True。
请注意,这个函数只接受正整数。如果输入非正整数,会返回False。
编写一个C++函数,判断一个正整数是否为素数
可以使用以下代码实现:
```c++
bool isPrime(int n) {
if (n <= 1) { // 1不是素数
return false;
}
for (int i = 2; i <= sqrt(n); i++) {
if (n % i == 0) { // 如果n能够整除i,则n不是素数
return false;
}
}
return true;
}
```
该函数接受一个正整数n作为参数,如果n是素数,则返回true,否则返回false。其中,循环条件使用sqrt(n)可以减少循环次数,提高效率。