![](https://cdn-ak-scissors.b.st-hatena.com/image/square/659e3ec92d782dd0e23736106b27cdbda1d59120/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9UnVieSUyMCVFMyU4MSVBOCUyMFBlcmwlMjAlRTMlODElQTglMjBKYXZhJTIwJUUzJTgxJUE4JTIwUHl0aG9uJTIwJUUzJTgxJUE3JUU4JUE3JUEzJUUzJTgxJThGJTIwQXRDb2RlciUyMENBRERpJTIwMjAxOCUyMEMlMjAlRTclQjQlQTAlRTUlOUIlQTAlRTYlOTUlQjAlRTUlODglODYlRTglQTclQTMmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPWZkM2Q3MTQxYTVkNDU3M2ZmMGYzYmMyNjhhN2YyODZh%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBzdXBlcnJpbm8xMzAmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTk1MmU2ZmQ1YjQzN2JjOGFkNjcwZGIxMzI4ZDBlNzhm%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3Dc88b445ff595b229f955389fcca86e6d)
エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Ruby と Perl と Java と Python で解く AtCoder CADDi 2018 C 素因数分解 - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Ruby と Perl と Java と Python で解く AtCoder CADDi 2018 C 素因数分解 - Qiita
入力例 4 の972439611840を素因数分解しますと、{2=>6, 3=>3, 5=>1, 103=>4}となります。 これを N 個の... 入力例 4 の972439611840を素因数分解しますと、{2=>6, 3=>3, 5=>1, 103=>4}となります。 これを N 個の整数に分配すれば解答が求まります。N 個未満の素数は、最大公約数に寄与しないわけです。 require 'prime' n, p = gets.split.map(&:to_i) if p == 1 puts 1 elsif n == 1 puts p else h = Prime.prime_division(p).to_h ans = 1 h.each do |k, v| while v >= n ans *= k v -= n end end puts ans end