Re: [討論] 提昇Python執行的速度
※ 引述《hsnu114444 (我只是QQ糖)》之銘言:
: 我最近在玩OnlineJudge
: 有一個網站叫做Sphere,他可以支援Python,
: 但是有一個小問題,就是因為他還支援別種語言,所以Time limit基本上沒有設很寬。
: 我的題目是這樣:
: 第一行輸入總共有幾個數字
: 接下來就讀入N行
: 輸出的結果是(input)!後面有幾個零
: 階層(factorial)
我在推文給的文章連結:
http://www.javaworld.com.tw/jute/post/view?bid=5&id=20842&sty=1&tpg=2&age=-1
(http://ppt.cc/85qa)
主題是求 N! 從個位算來第一個不為零的數,和這一篇的要計算的目標不同,
但我想其中有一些概念可以用在這一篇的主題裡。
N! 中會直接貢獻 0 的有 10 的倍數,間接貢獻的有 2 與 5 的倍數,朝這個方向
去解,應該不會比求尾數難。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.173.135.32
推
04/10 22:44, , 1F
04/10 22:44, 1F
的確,10 的倍數包含在 2, 5 倍數的 case 裡,而 1,2,...,N 中的 2 的倍數比 5
的倍數多,所以只要算 1,2,...,N 中所有 5 的 factor 個數即可知道 N! 的尾數
有幾個零。(如推文所述,N 不停除 5 直到歸 0. 把過程商數累加)
※ 編輯: sbrhsieh 來自: 218.173.135.32 (04/10 23:05)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 6 篇):
Python 近期熱門文章
PTT數位生活區 即時熱門文章