Re: [討論] 提昇Python執行的速度

看板Python作者 (偶爾想擺爛一下)時間15年前 (2010/04/13 17:38), 編輯推噓4(403)
留言7則, 1人參與, 最新討論串5/6 (看更多)
※ 引述《hsnu114444 (我只是QQ糖)》之銘言: : 我的問題搞了半天其實是在問數學解XD : : 但是我的數學解寫出來了,我自己測試的速度也超快,沒問題。 : : 但是我出現了一個Runtime error的情況 : : 根據我的測試發現 : : 我的程式在剛執行的時候馬上輸入第一個數字是不會有反應的,但是有寫入變數。 : : 比如說我在開始時快速輸入 : : 10 : 11 : : 那這樣我讀進去的會是11 : [略] : → sbrhsieh:這個版本算快?你有沒有算過 100000000! ?! 04/13 00:01 : → sbrhsieh:別人跟你講做法,你似乎不看~~~ 04/13 00:02 : → hsnu114444:我有看,但這個已經比我之前快,現在的問題在input上 04/13 07:58 我覺得你搞錯重點了,這種測驗的重點在於你的演算法,不在於你的 IO 寫的 好不好。(或者說 IO 部份好搞,演算法部份不好搞) 好,回到 IO 來說,通常 online judge 是把 input 輸進 uploaded program 的 standard input(把 sample input file 重導到 stdin)。 寫這種程式直接從 stdin 讀數據會比較方便。 以下是個完整的程式(for Python 2.6-): def tail_zeros(n): a, m = 0, 0 while n > 0: m = n / 5 a += m n = m return a if __name__ == '__main__': import sys count = int(sys.stdin.next()) for x in xrange(count): print tail_zeros(int(sys.stdin.next())) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.173.131.114 ※ 編輯: sbrhsieh 來自: 218.173.131.114 (04/13 18:14)

04/13 20:21, , 1F
感謝!因為我的程式根本就過不去...連一筆都沒執行。
04/13 20:21, 1F

04/13 20:22, , 2F
所以才會一直在意IO的問題,謝謝大大的指教!
04/13 20:22, 2F

04/14 01:37, , 3F
可是您這個演算法好像算的不是階層,只是尾數。
04/14 01:37, 3F

04/14 01:38, , 4F
我要算的是階層的尾數,所以才想說用slice
04/14 01:38, 4F

04/14 01:38, , 5F
把它有五的倍數通通丟出來。
04/14 01:38, 5F

04/14 01:43, , 6F
喔喔我看錯了 我少看了下面
04/14 01:43, 6F

04/14 01:46, , 7F
謝謝你,上了重要的一課。
04/14 01:46, 7F
文章代碼(AID): #1Bn3kVEE (Python)
文章代碼(AID): #1Bn3kVEE (Python)