写一个函数,能判断传入的一个数值是否是质数,如果是质数返回true,如果不是质数返回false,(质数:从2开始只能被1和自身整数的数)
时间: 2023-05-31 17:18:29 浏览: 245
### 回答1:
以下是一个判断质数的函数:
```python
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num ** .5) + 1):
if num % i == :
return False
return True
```
函数接受一个参数`num`,如果`num`小于2,则直接返回`False`,因为小于2的数都不是质数。接着从2开始遍历到`num`的平方根,如果`num`能被其中任意一个数整除,则说明`num`不是质数,返回`False`。如果遍历完所有可能的因子都没有找到能整除`num`的数,则说明`num`是质数,返回`True`。
### 回答2:
质数是指一个大于1的正整数,除了1和它本身外,不能被其他正整数整除的数。因此,从大于等于2的整数开始判断,如果该整数能整除2到该整数之前的任何一个整数,那么该数就不是质数。
方法如下:
```
function isPrime(num) {
// 如果传入参数小于2,肯定不是质数
if (num < 2) {
return false;
}
// 从2到num-1遍历,判断是否能被整除
for (var i = 2; i < num; i++) {
if (num % i === 0) {
return false;
}
}
// 如果没有被整除,那么就是质数
return true;
}
```
使用示例:
```
console.log(isPrime(7)); // true
console.log(isPrime(8)); // false
console.log(isPrime(2)); // true
console.log(isPrime(1)); // false
console.log(isPrime(-5)); // false
```
在该函数中,从2到num-1遍历用于判断num是否被该数之前的任何一个整数整除,如果有,返回false,如果一直到遍历结束都没有被整除,那么该数就是质数,返回true。
需要注意的是,如果传入参数小于2,肯定不是质数,因为质数定义是大于1的正整数。
### 回答3:
质数是指只能被1和它本身整除的自然数,因此判断一个数是否为质数,就是判断它能否被2到它本身减1之间的所有整数整除。我们可以写一个函数来实现这个功能:
```python
def is_prime(num):
if num < 2:
return False # 0和1都不是质数
for i in range(2, int(num**0.5)+1): # 遍历2到num的平方根之间的数
if num % i == 0:
return False # 如果有一个数能整除num,那么num不是质数
return True # 否则num是质数
```
如何理解代码中的关键步骤:
1. 如果num小于2,那么直接返回False,因为0和1都不是质数。
2. range(2, int(num**0.5)+1) 表示一个范围,从2开始,到num的平方根(取整后加1)之间的整数组成的序列。其中要计算平方根,可以用 ** 运算符表示乘方。
3. 在这个范围内,我们用for循环依次判断每个数是否能整除num。如果存在一个数能整除num,那么num就不是质数,直接返回False。
4. 如果for循环完成后都没有返回False,那就说明num是质数,返回True。
测试一下这个函数:
```python
print(is_prime(0)) # False
print(is_prime(1)) # False
print(is_prime(2)) # True
print(is_prime(3)) # True
print(is_prime(4)) # False
print(is_prime(97)) # True
print(is_prime(100)) # False
```
完整的函数代码:
```python
def is_prime(num):
if num < 2:
return False # 0和1都不是质数
for i in range(2, int(num**0.5)+1): # 遍历2到num的平方根之间的数
if num % i == 0:
return False # 如果有一个数能整除num,那么num不是质数
return True # 否则num是质数
print(is_prime(0)) # False
print(is_prime(1)) # False
print(is_prime(2)) # True
print(is_prime(3)) # True
print(is_prime(4)) # False
print(is_prime(97)) # True
print(is_prime(100)) # False
```
阅读全文