python 找素數


初始版本 沒什么好講的.

def getSushu():
    res = [2]
    for i in range(3,100):
        flag = True
        for j in range(2,i):
            if i%j==0:
                flag = False
                break
        if flag:
            res.append(i)
    return res
print(getSushu())

1. 找因數找到平方根就可以了

2. for else 的用法 (else 其實是與for里的break形成排他關系)

import math #
l = [2, 3]
for i in range(5, 101): #第一層循環,從5到100
    for j in range(2, int(math.sqrt(i))+1): #一個數的最大因數是它的平方根
        if i%j == 0: #如果出現整除說明有因子
            break 
    else:
        l.append(i) #for正常執行(包括contine)完會執行else,break不會執行else
print(" ".join(map(str, l))) #先將列表中的元素變為字符串再用空格連接輸出


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM