[問題] 超 大數次方運算
最近發現 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 秒內解出
先謝謝各位大大惹
--
Sent from my Sony Xperia XZ1
○ PiTT // PHJCI
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 77.73.67.86
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1551159184.A.CEE.html
連結修正
※ 編輯: nevikw39 (77.73.67.86), 02/26/2019 13:34:49
→
02/26 20:24,
6年前
, 1F
02/26 20:24, 1F
建什麼表呢?
※ 編輯: nevikw39 (106.107.176.158), 02/26/2019 22:07:20
→
02/26 22:43,
6年前
, 2F
02/26 22:43, 2F
→
02/26 22:46,
6年前
, 3F
02/26 22:46, 3F
→
02/26 23:29,
6年前
, 4F
02/26 23:29, 4F
推
02/26 23:42,
6年前
, 5F
02/26 23:42, 5F
推
02/26 23:45,
6年前
, 6F
02/26 23:45, 6F
推
02/26 23:46,
6年前
, 7F
02/26 23:46, 7F
→
02/26 23:47,
6年前
, 8F
02/26 23:47, 8F
我也覺得是輸出太慢 可是直接寫到 stdout.buffer 也沒有比較快
→
02/27 00:02,
6年前
, 9F
02/27 00:02, 9F
→
02/27 00:02,
6年前
, 10F
02/27 00:02, 10F
→
02/27 00:02,
6年前
, 11F
02/27 00:02, 11F
→
02/27 00:04,
6年前
, 12F
02/27 00:04, 12F
Python 到底有沒有什麼特殊解呢?
不然自己寫大數用 c++ 應該更有效率
字串的部分查了一下,% > .format > str() 的樣子,可是還是 4.8 秒
※ 編輯: nevikw39 (106.107.176.158), 02/27/2019 00:18:20
推
02/27 02:21,
6年前
, 13F
02/27 02:21, 13F
a 大你好,第一題我是有 AC 喇,只是很好奇其他人怎麼有辦法速解,如果你有好方法還請
不吝分享
※ 編輯: nevikw39 (101.136.64.8), 02/27/2019 07:47:44
推
02/27 11:08,
6年前
, 14F
02/27 11:08, 14F
→
02/27 11:09,
6年前
, 15F
02/27 11:09, 15F
→
02/27 11:09,
6年前
, 16F
02/27 11:09, 16F
Karatsuba 法似乎多用於乘法,然後再用迴圈,回去試試有沒有比較快
※ 編輯: nevikw39 (101.137.163.39), 02/27/2019 17:31:11
→
02/27 22:41,
6年前
, 17F
02/27 22:41, 17F
→
02/27 22:41,
6年前
, 18F
02/27 22:41, 18F
實在非常感謝 e 大提供的想法,沒想到 decimal 也可以這麼用
只是你應該是指 Decimal(a) ** Decimal(b) ,醬子才是 decimal 的運算 XD
※ 編輯: nevikw39 (106.107.176.158), 02/28/2019 08:30:42
→
02/28 13:04,
6年前
, 19F
02/28 13:04, 19F
→
02/28 13:08,
6年前
, 20F
02/28 13:08, 20F
→
02/28 13:10,
6年前
, 21F
02/28 13:10, 21F
Python 近期熱門文章
PTT數位生活區 即時熱門文章