問題一覧 > 通常問題

No.575 n! / m / m / m...

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / スペシャルジャッジ問題 (複数の解が存在する可能性があります)
タグ : / 解いたユーザー数 40
作問者 : はむこはむこ / テスター : PulmnPulmn
4 ProblemId : 1696 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2017-10-09 23:42:39

問題文

$n!$を$m$で割れるだけ割った値を求めよ。

入力

n m

$1\leq n \leq 10^{12}, 2\leq m \leq 10^{12}$, $n, m$は整数

出力

答えを$p \times 10^d$と表記し、$p$e$d$を出力せよ。($1 \le p < 10$の整数もしくは小数。$d$は非負整数)
誤差は相対誤差で$1$%まで許容される(サンプル2)。

サンプル

サンプル1
入力
6 3
出力
8e1

$6!=720$である。$720$は$3$で割れて、$720/3=240$。$240$は$3$で割れて$240/3=80$。$80$はもう$3$で割れないので、$80$が答え。
出力は、例えば8.0000000e1と出力しても8.0114514e1と出力しても正答となる。しかし、80e0や、0.8e2は正答とならない。

サンプル2
入力
10 11
出力
3.63e6

$10!=3628800$である。$11$は$10$より大きい素数なので、$10!$を割れない。
したがって$3628800$が答えである。今、$3.63 \times 10^6$と出力すると、
相対誤差は$0.99 < \frac{3.63 \times 10^6}{3628800}=1.00033068783 < 1.01$なので正答となる。

サンプル3
入力
1000000007 1000000007
出力
9.90e8565705576

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。