python求质数(素数)的三种方法,多题型适用。

背景:

        尽管一直刷力扣题,但还是被求质数难倒了[哭笑]哈哈哈,因为总想着减少时间复杂度,尽可能向0(n**2)靠近,基础定义就是只能被1和本身整除的自然数成为质数。


示例题型:

        求2<=n<=1000之间的所有质数。

解析:此题型省略了n<=2的情况。


解决方法:

        方法一、穷举法(时间复杂度较高,但易使用和理解)

代码:

put_list = []                  #创建载入列表

for i in range(2, 1001):        #遍历第一遍本体自然数,左闭右开
flag = True                    #每验证一个数,刷新一下判断介质

    for j in range(2, i):    
        if i % j == 0:        #能被取余,就说明不是质数,第二次遍历注意一下左闭右开
            flag = Flase
    
    if flag == True:            #每判断一次本体自然数,就依据判断介质检查是否载入列表
        put_list.append(i)

          方法二、利用质数性质()

未待续...

你可能感兴趣的:(算法)