一、素数的定义
质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数(规定1既不是质数也不是合数)。
二、素数判断
方法一:
def sushu(a):
if a <= 1:
print(f"{a}不是素数")
else:
for i in (2, a + 1):
if a % i == 0:
break
if i >= a:
print(f"{a}是素数")
else:
print(f"{a}不是素数")
方法二:
def sushu2(b):
if b <= 1:
print(f"{b}不是素数")
else:
j = 2
# 素数是除了一和本身以外不能被其他任何整数整除的整数
while j <= b - 1:
# 只要有一个能被整数的就不是素数
if b % j == 0:
break
# 依次除以2,3,4,5,,,m-1
j = j + 1
if j > (b - 1):
print(f"{b}是素数")
else:
print(f"{b}不是素数")
三、打印素数
方法一:
1、打印指定范围内的素数
def sushu3(c):
import math
m = 2
List = []
while m < c:
j = 2
# 只要从2判断到根号m,若m不能被其中的任何一个数整除,则m为素数
while j <= math.sqrt(m):
if m % j == 0:
break
j = j + 1
if (j > math.sqrt(m)):
List.append(m)
m = m + 1
print(f"{c}以内的素数:{List}")
# 调用方法sushu3方法,打印100以内的素数
if __name__ == '__main__':
sushu3(100)
方法二:
2、打印指定区间内的素数
def sushu4():
Min = int(input("请输入起始值:"))
Max = int(input("请输入终止值:"))
List = []
# 循环遍历指定区间内的数
for i in range(Min, Max + 1):
if i > 1:
# 除了1和本身以外的数,如果能被除则break退出
for j in range(2, i):
if (i % j) == 0:
break
# 若不能被1和本身的数除则追加到List列表
else:
List.append(i)
print(f"{Min}~{Max}区间内的素数有:{List}")