作者leondemon (狗狗)
看板Python
標題[問題] 用Python算質數
時間Fri Apr 24 03:24:22 2009
改自
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)
推 Lucemia:這是演算法的問題 04/24 04:19
→ leondemon:sorry,我不太懂 >"< 04/24 04:21