|
uchinyan |
|
はい,こんにちは。さて,今回の問題は...
一目見て「プログラム組んじゃえば終わりだな。」とは思ったものの,ぐっとこらえて暗算モードで。 まず,1/19 が小数点以下 18 桁で,しかも 18 桁だけで,繰り返す循環小数になることに注目します。 これは,事実として知っていました。すると, 10^18/19 - 1/19 = (正の整数) 99...(18個)...99/19 = (正の整数) 9 * 11...(18個)...11 = (正の整数) * 19 9 と 19 は互いに素なので,(正の整数) は 9 で割り切れて, 11...(18個)...11 = (正の整数その2) * 19 88...(18個)...88 = (正の整数その2) * 19 * 8 つまり,8 が 18 個並んだ数は 19 の倍数です。しかもこれが最小です。そうでなければ 1/19 が 18 桁未満で繰り返してしまうので。 これが分かってしまえば後は簡単で,8 が 18 の倍数個並んだ数も 19 の倍数になることより, 95 桁以上 125 桁以下では 18 * 5 = 90, 18 * 6 = 108, 18 * 7 = 126 なので,一つしかないことより,答えは 108 桁になります。 一つしかないことは,1/19 が 18 桁でしか繰り返さないことより明らかですね。 なお,1/19 に関する知識がないとこの解法は無理ですが, 19 に何かを掛けて 8 が並ぶ数を作ると考えれば,下一桁から順次計算して決めていけば一意に決まるので,比較的容易に, 19 * 46783625730994152 = 888888888888888888 <----- 初めて 8 が並びその個数は 18 個 と求まり,それからもできますね。 |
|
ネコの住む家
1月29日(木) 11:54:16
MAIL:uchi@sco.bekkoame.ne.jp 33784 |