Submit
https://atcoder.jp/contests/agc021/submissions/3928741
9.999999999999999 = 10?
- 上記提出コードでWAになった状態を見てみると、
- 9999,9999,9999,9999 を
- 1000,0000,0000,0000 で割った値を整数で受け取った結果
- 9を意図していたのに10が入っていたことが原因
- powの結果がfloat, doubleだと、見出しのようなことが起こるのだろう
- my_powを定義して累乗を計算する(入力・出力はll)としたら小数点が絡まないのでACした
学び
- こういうこともある
コード
ll c = N / pow(10, keta-1); pn(N); pn(pow(10, keta-1)); pn(c);
結果
output: N 9999999999999999 pow(10, keta-1) 1e+15 c 10 // !?!?