エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
Bignum と戯れていて気がつきましたが、とても大きい値は表示するだけでかなり遅いです。65536**65536 (... Bignum と戯れていて気がつきましたが、とても大きい値は表示するだけでかなり遅いです。65536**65536 (300,000 桁くらい) で 71 秒とか。Ctrl+C で止められないのでいらいらします。 $ time ruby -e 'p(65536**65536)' > r1.txt real 1m10.802s user 0m4.580s sys 1m6.190s $ wc -c r1.txt 315654 r1.txtどうも Bignum#to_s の基数変換に時間がかかりまくってるみたいです。実装を一瞬だけ見てみたところ、O(n^2) のアルゴリズムになっているような気がしました。 そこで Karatsuba の基数変換アルゴリズム みたいなものを実装してみました。O(n log n) のはず。 $ time ruby -rkrc -e 'p(65536**65536)'