36 素数的判断方法
素数的判断方法总结_素数的判断条件-CSDN博客
一)最简单方法(从2到n-1每个数均整除判断)时间复杂度O(n)
max = 100
# 素数是大于1且只能被1和它本身除尽
for num in range(1,max+1):
if num > 1:
for i in range(2,num):
if (num % i) == 0:
#如果在2-(n-1)范围内能除尽的话就不是素数,就跳出循环
break
else:
print(num)
运行结果:
2
3
5
7
11
13
17
19
23
29
31
37
41
43
47
53
59
61
67
71
73
79
83
89
97
- 开根号法:从2到\sqrt{n}均整除判断,时间复杂度O(\sqrt{n})
(原因:素数是因子为1和本身, 如果数c不是素数,则还有其他因子,其中的因子,假如为a,b.其中必有一个大于sqrt(c) ,一个小于sqrt(c) 。所以m必有一个小于或等于其平方根的因数,那么验证素数时就只需要验证到其平方根就可以了。即一个合数一定含有小于它平方根的质因子。)
判断一个数是不是素数:
n = int(input("please enter the number:"))
for i in range(2, n):
if n % i == 0:
print(" %d is not a prime number!" % n)
break
else:
print(" %d is a prime number!" % n)
please enter the number:5
5 is a prime number!