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

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / スペシャルジャッジ問題 (複数の解が存在する可能性があります)
タグ : / 解いたユーザー数 27
作問者 : はむこはむこ / テスター : PulmnPulmn
2 ProblemId : 1696 / 出題時の順位表

問題文

$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

提出ページヘ
下のフォームでの入力は、テキストボックスにフォーカスがない場合は、(Onにしている場合)ショートカットキー・スマートサブミットの影響を受けるので、必要なら提出ページに遷移してください。

言語
問題によって提出できない言語があります。参考
ソースコード
ソースコードのテキストボックスに文字がある場合はファイルは無視されます。
テキストボックスで提出するとCR(\r)が除去されますが、ファイルで提出すると除去されません。