簡體   English   中英

比較兩個相似的 Python 代碼(Project Euler #3)

[英]compare two similar python code (Project Euler # 3)

我有兩個代碼來解決Project Euler #3

第一個是

x = 600851475143
a = 2
max = 0
while a < x:
    for i in range (2, int(a**0.5)+1):
        if a % i == 0:
            break
    else:
        if x % a == 0 : max = a
    a += 1
print(max)

第二個是

x = 600851475143
a = 2
max = 0
while a < x:
    for i in range (2, int(a**0.5)+1):
        if a % i == 0:
            break
    else:
        if x % a == 0 : print(a)
    a += 1

兩者都是用python編寫的

正如你們所看到的,唯一的區別是我是否將最終值放在變量“max”中並稍后打印,或者只是在 if 語句中打印出來。 但是這兩者的執行速度有很大的不同。 誰能解釋為什么?

在第一種情況下, max = a 是一個賦值,它需要一些額外的時間來計算,你應該沒有太大的區別。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM