看板 Python 關於我們 聯絡資訊
※ 引述《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)
hsnu114444:感謝!因為我的程式根本就過不去...連一筆都沒執行。 04/13 20:21
hsnu114444:所以才會一直在意IO的問題,謝謝大大的指教! 04/13 20:22
hsnu114444:可是您這個演算法好像算的不是階層,只是尾數。 04/14 01:37
hsnu114444:我要算的是階層的尾數,所以才想說用slice 04/14 01:38
hsnu114444:把它有五的倍數通通丟出來。 04/14 01:38
hsnu114444:喔喔我看錯了 我少看了下面 04/14 01:43
hsnu114444:謝謝你,上了重要的一課。 04/14 01:46