No.575 n! / m / m / m...
レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限
: 512 MB / スペシャルジャッジ問題 (複数の解が存在する可能性があります)
タグ : / 解いたユーザー数 40
作問者 : はむこ / テスター : Pulmn
タグ : / 解いたユーザー数 40
作問者 : はむこ / テスター : Pulmn
問題文最終更新日: 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もしくは右上の雲マークをクリックしてアカウントを作成してください。