[問題] 用Python算質數
改自http://larc.ee.nthu.edu.tw/~jcyeh/python/cdoc/tut/node6.html
code如下:那行
===========
def primeNumber(x):
for n in xrange(2,x):
for m in xrange(2,n): #第二個for loop
if n%m == 0:
break
else: #為何else要縮排在這裡?
print n,
x = int(raw_input("enter a number:"))
primeNumber(x)
===========
當數字大於100000時 計算就耗時了
有辦法改code加速尋找質數的運算嗎?
另外一個問題:else那行如果縮排退一格 結果會變得不同
而我不太懂else是針對什麼情況之下發生?
因為它是跟for對齊,但是通常不是都跟if放在一起嗎?
break是中斷第二個for loop對吧?中斷後為何不執行else步驟呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.129.59.68
※ 編輯: leondemon 來自: 140.129.59.68 (04/24 03:39)
推
04/24 04:19, , 1F
04/24 04:19, 1F
→
04/24 04:21, , 2F
04/24 04:21, 2F
討論串 (同標題文章)