過去ログ

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

過去問題一覧へ戻る