python 素数判断
时间: 2023-11-14 16:12:03 浏览: 64
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
```
其中,`num`为待判断的数,如果小于2则直接返回`False`,否则从2开始循环到`num`的平方根加1,如果在这个范围内存在一个数可以整除`num`,则返回`False`,否则返回`True`。
如果想在控制台中输入一个整数并判断是否为素数,可以使用以下代码:
```
number = int(input("请输入整数:"))
if is_prime(number):
print("是素数")
else:
print("不是素数")
```
相关问题
python素数判断
以下是Python中判断素数的五种实现方式:
1.暴力判断法
```python
def is_prime(n):
if n < 2:
return False
for i in range(2, n):
if n % i == 0:
return False
return True
```
2.平方根暴力判断法
```python
import math
def is_prime(n):
if n < 2:
return False
for i in range(2, int(math.sqrt(n))+1):
if n % i == 0:
return False
return True
```
3.素数表筛选法
```python
def get_primes(n):
primes = []
for i in range(2, n+1):
is_prime = True
for j in primes:
if i % j == 0:
is_prime = False
break
if is_prime:
primes.append(i)
return primes
```
4.埃拉托斯特尼(Eratosthenes)筛法
```python
def get_primes(n):
primes = [True] * (n+1)
primes[0] = primes[1] = False
for i in range(2, int(n**0.5)+1):
if primes[i]:
primes[i*i: n+1: i] = [False] * len(primes[i*i: n+1: i])
return [i for i in range(n+1) if primes[i]]
```
5.欧拉(Euler)筛法
```python
def get_primes(n):
primes = []
is_prime = [True] * (n+1)
for i in range(2, n+1):
if is_prime[i]:
primes.append(i)
for j in primes:
if i*j > n:
break
is_prime[i*j] = False
if i % j == 0:
break
return primes
```
python 质数判断
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
```