カメヲラボ

主にプログラミングとお勉強全般について書いてます

Last Digits(1)

iの値が大きくなれば・・・

前回のコードを実行して、どんな値になるのかを見てみるとある特徴に気が付く。ここにすべての場合を書き出すわけにはいかないので、b=2,1<=i<=50に限って書き並べてみると、


b i ans

                            • -

2 1 2
2 2 4
2 3 16
2 4 65536
2 5 9156736
2 6 7428736
2 7 1748736
2 8 948736
2 9 2948736
2 10 2948736
2 11 2948736
2 12 2948736
2 13 2948736
2 14 2948736
2 15 2948736
2 16 2948736
2 17 2948736
2 18 2948736
2 19 2948736
2 20 2948736
2 21 2948736
2 22 2948736
2 23 2948736
2 24 2948736
2 25 2948736
2 26 2948736
2 27 2948736
2 28 2948736
2 29 2948736
2 30 2948736
2 31 2948736
2 32 2948736
2 33 2948736
2 34 2948736
2 35 2948736
2 36 2948736
2 37 2948736
2 38 2948736
2 39 2948736
2 40 2948736
2 41 2948736
2 42 2948736
2 43 2948736
2 44 2948736
2 45 2948736
2 46 2948736
2 47 2948736
2 48 2948736
2 49 2948736
2 50 2948736


ご覧の通り、iの値が10を超えるとすべて同じになってしまう。これはbが1〜100までの値なら、すべて成り立っている。ということは、実質計算するのは100×10の千通りだけということだ。