欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

判断一个数是否是质数

程序员文章站 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]范围内的质数