python 质数判断
时间: 2023-11-23 15:53:29 浏览: 99
Python中判断一个数是否为质数有多种方法,以下是其中两种常见的方法:
1. 基本方法:从2到n-1遍历,判断是否有因数,如果有则不是质数,否则是质数。
代码示例:
```
number = int(input('请输入数字:'))
check = 0 #标志 check为0 表示:是质数; check为1 表示:不是质数
for i in range(2, number):
if number % i == 0:
check = 1
if check == 0:
print(number, '是质数')
else:
print(number, '不是质数')
```
2. 定义法:根据定义,质数除了1和本身之外没有其他因数,所以判断n是否为质数,直接判断从2到n-1是否存在n的因数即可。
代码示例:
```
def isPrime(num):
if num > 1:
for j in range(2, num):
if num % j == 0:
return False
else:
return True
else:
return False
```
相关问题
python素数判断
要判断一个数是否是素数,可以使用以下代码:
```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
# 测试
number = int(input("请输入一个整数: "))
if is_prime(number):
print(f"{number} 是素数")
else:
print(f"{number} 不是素数")
```
这段代码定义了一个名为 `is_prime` 的函数,它接受一个整数参数 `n`,并返回一个布尔值表示 `n` 是否是素数。在函数中,我们首先判断 `n` 是否小于等于 1,因为素数定义为大于 1 的整数。接下来,我们使用一个循环从 2 开始迭代到 `n` 的平方根加 1 的范围内,逐个判断是否能整除 `n`。如果能整除,则 `n` 不是素数,返回 False。如果循环结束后都没有找到能整除 `n` 的数,则 `n` 是素数,返回 True。
最后,我们通过调用该函数来判断用户输入的整数是否是素数,并打印相应的结果。
Python素数判断
Python素数判断可以使用以下两种方法:
1. 质数判断法:
一个数如果只能被1和它本身整除,那么这个数就是质数。通过遍历2到该数-1的所有数,判断是否能被整除,来判断该数是否为质数。
代码示例:
```python
def is_prime(num):
if num < 2:
return False
for i in range(2, num):
if num % i == 0:
return False
return True
```
2. 厄拉多塞筛法:
该算法是在一定范围内筛选出所有的质数,而不是单独判断一个数是否为质数。首先将2到n的正整数放入表中,然后在2的上面画一个圆圈,然后把表中所有2的倍数都划掉;第一个既没有画圈又没有被划去的数是3,将它画圈,再把表中所有3的倍数都划去;接下来是5、7、11等质数,不断重复这个过程,直到筛完为止。
代码示例:
```python
def sieve_of_eratosthenes(num):
primes = [True] * (num+1)
primes, primes = False, False
for i in range(2, int(num ** 0.5) + 1):
if primes[i]:
for j in range(i*i, num+1, i):
primes[j] = False
return [i for i in range(num+1) if primes[i]]
```
阅读全文