PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Python
[問題] 超 大數次方運算
作者:
unknown
(ya)
2019-02-26 13:32:58
最近發現 Python 的整數型別原來沒有上限,對於大數的支援實在非常完善,甚至幾十位數
相乘都能幾乎瞬間求得答案,所以就想挑戰一些大數的題目,像是這題:
http://bit.ly/2H7QGHo
我是直接 a ** b 喇,這樣花了 4.8 秒。然後我就在想如何改進。先 sum = a ** (b // 2
),再 sum *= 2,如果 b 是奇數再乘 a。但是如此一來反而要花 6.8 秒!
輸出的部分也有嘗試直接寫入 stdout.buffer 還是 4.8 秒
同一題一樣 Python 有人原本 4.7 秒變成 78 毫秒,到底怎麼辦得到啊?
下一題(http://bit.ly/2H1TuGc)測資更變態,提示說 Python 有特殊解法第一題可以在
0.1 秒內解出,第二題 Python 也有人在 0.5 秒內解出
先謝謝各位大大惹
作者:
s860134
(s860134)
2019-02-26 20:24:00
建表查表會不會比較快?Divide and Conquer: a^20 == (a^2)^10 == (a ^4) ^5不確定這思考方向對不對我思考方向好像是錯的 因為算根本沒花多少時間= =
作者:
alan23273850
2019-02-26 23:42:00
你有學過快速冪嗎 演算法課本去翻一翻 概念不難
作者:
nini200
(200妮妮)
2019-02-26 23:45:00
python占便宜 哈哈哈
作者:
oToToT
(å±å©)
2019-02-26 23:46:00
剛剛我寫了個快速冪然後就TLE了,我覺得應該是python IO太慢
作者:
s860134
(s860134)
2019-02-27 00:02:00
time python -c "str(pow(10**5,10**5))" 要七秒user 0m7.812s都花在轉字串...如果自幹的算法比 python 內建還快不就取代掉惹
作者:
alen84204
(Dana)
2019-02-27 02:21:00
菜雞連AC都寫不出QQ
作者:
alan23273850
2019-02-27 11:08:00
那如果試試這個?
https://www.python123.io/index/
topics/algorithm_100_days/100-days-of-algorithms-10
作者: edwar (海邊的野孩子)
2019-02-27 22:41:00
from decimal import *; getcontext().prec=700000;print(Decimal(10**5) ** (10**5))
作者:
s860134
(s860134)
2019-02-28 13:04:00
上面 e 大寫法沒有問題,decimal 實作上有 type casting
https://goo.gl/iHMtVr
3.4
https://goo.gl/QNofY9
,可以從 Decimal.__pow__ 查
繼續閱讀
Re: [問題] 多欄位去除重複元素方式?(求思路)
adrianshum
[問題] 資料分析
a251656
[問題] 在windows 2012發websocket 封包會loss
J02
[問題] 請問for裡值的記憶體位址
jijuan
[問題] Anaconda安裝問題 & 無法釘選至工具列
chocoluv
[問題] 安裝gym 套件的error
ThereisBear
[問題] postman 使用的問題
dynastat
[問題]讀圖檔出現nonetype
seo074482
[問題] dialogflow 教學文件
MAGICXX
[問題] 現在架LineBot還來得及嗎
hjgx
Links
booklink
Contact Us: admin [ a t ] ucptt.com