結果

問題 No.575 n! / m / m / m...
コンテスト
ユーザー 0w1
提出日時 2017-11-03 21:47:37
言語 Ruby
(4.0.2)
コンパイル:
ruby -w -c _filename_
実行:
ruby _filename_
結果
AC  
実行時間 123 ms / 2,000 ms
コード長 361 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 122 ms
コンパイル使用メモリ 9,216 KB
実行使用メモリ 15,488 KB
最終ジャッジ日時 2026-05-16 17:01:03
合計ジャッジ時間 2,985 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge2_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 23
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #
raw source code

require 'prime'
N, M = gets.split.map &:to_i
pes = Prime.prime_division(M)
k = pes.map { |pe| 
  f = lambda do |n, p|
    r = 0
    z = p
    until n < p
      r += n / p
      p *= z
    end
    r
  end
  f[N, pe[0]] / pe[1]
} .min
log10ans = Math.lgamma(N + 1)[0] / Math.log(10) - k * Math.log10(M)
puts "#{10 ** (log10ans - log10ans.to_i)}e#{log10ans.to_i}"
0