判断一个数是否是质数
程序员文章站
2024-03-15 13:02:35
...
一个数如果可以进行因数分解,那么分解的两个数一定是一个小于等于sqrt(n),一个大于等于sqrt(n),因此遍历到sqrt(n)即可。因为如果sqrt(n)左侧找不到因数,右侧也一定找不到因数。中心思想:遍历n是否能被2到sqrt(n)之间的数整除,如果不能则为质数。
import math
def is_prime(n):
if n==1:
return False
elif n==2:
return True
else:
for i in range(2,int(math.sqrt(n))+1):
if n%i==0:
return False
return True
print(is_prime(5)) #True
print(is_prime(9)) #False
由上面的判断一个数是否是质数引申判断某个范围内的质数有哪些?可以用下面的方法进行判断
result=[]
for i in range(1,100)
if is_prime(i):
result.append(i)
print("result=%s" %result) #result里面就是[1,100]范围内的质数
上一篇: javaIO之身份证号码计算天数
下一篇: NOWCODER编程题——进制转换