Re: [討論] 提昇Python執行的速度
: for n in range(counts):
: input_temp=input()
: temp=range(1,input_temp+1)
: count=0
: for i in temp[4::5]:
: count+=logfive(i)
: print count
您使用了range(n)來建立一組list,同時又使用了slice切片處理
必須說,當n極大時(python處理無窮長整數可是出了名的)
你的temp會因為製造range(n)這個怪物而極慢
若使用xrange(n)來避免製造怪物,則您就不能用切片處理了。
(其實xrange也不能製造怪物,因為xrange的引數不能是長整數)
除此之外,當temp極大時,使用for迴圈似乎也會特別慢(據說)
試圖用特別的手法來加速是不錯,
但既然都用python了,建議用值覺得方法來解決當前問題就好。
--
使用python2.6
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.104.29.51
→
04/13 23:16, , 1F
04/13 23:16, 1F
→
04/13 23:18, , 2F
04/13 23:18, 2F
※ 編輯: apua 來自: 59.104.29.51 (04/14 00:28)
→
04/14 00:48, , 3F
04/14 00:48, 3F
就是您的作法XD 我覺得那樣清楚又直覺
→
04/14 00:49, , 4F
04/14 00:49, 4F
→
04/14 00:59, , 5F
04/14 00:59, 5F
因為他的題目一開始有出現99999999!所以應該是要考慮沒錯
不用range/xrange的話,直接用您前面寫的tail_zeros(),因為是單純的計算,
所以不必擔心長整數的影響,輕鬆多了。
推
04/14 01:28, , 6F
04/14 01:28, 6F
→
04/14 05:43, , 7F
04/14 05:43, 7F
→
04/14 05:44, , 8F
04/14 05:44, 8F
→
04/14 05:45, , 9F
04/14 05:45, 9F
是呀
※ 編輯: apua 來自: 140.109.17.44 (04/14 10:03)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 6 之 6 篇):
Python 近期熱門文章
PTT數位生活區 即時熱門文章