過去ログ

uchinyan
私の#27199を、もう少し論理的にまとめておきます。後、すごく地道な解法も書いておきます。
その関係などを調べていたら、面白い方法も見つけました。
なお、説明で文字式を使っています。厳密には算数ではないですが、まぁ、これぐらいはいいでしょう、ということで (^^;
気になる方は、適宜、○とか□とかに置き換えてください。

(解法1)
原則、#27199と同じです。
X は、2, 3, 5, 11, 41 の最小公倍数 2 * 3 * 5 * 11 * 41 をもとにして、X = 2 * 3 * 5 * 11 * 41 * a + b と書けます。
41 に関する条件から、X = 2 * 3 * 5 * 11 * 41 * a - 330 + 41 * c と書けます。
11 に関する条件から、41 - 30 = 11 に注意して、
X = 2 * 3 * 5 * 11 * 41 * a - 330 - 41 + 41 * 11 * d = 2 * 3 * 5 * 11 * 41 * a - 371 + 41 * 11 * d と書けます。
5 に関する条件から、X = 2 * 3 * 5 * 11 * 41 * a - 371 + 41 * 11 * 5 * e と書けます。
3 に関する条件から、X = 2 * 3 * 5 * 11 * 41 * a - 371 + 41 * 11 * 5 * 3 * f と書けます。
2 に関する条件から、
X = 2 * 3 * 5 * 11 * 41 * a - 371 + 41 * 11 * 5 * 3 * 2 * g = 2 * 3 * 5 * 11 * 41 * (a + g) - 371
と書けます。
最後の式で、a + g >= 1 なので、X が最小になるには、a + g = 1 です。そこで、
X = 2 * 3 * 5 * 11 * 41 - 371 = 1230 * 11 - 371 = 13530 - 371 = 13159
になります。

(解法2)
すごく素朴に順番にやっていきます。少し計算が大変ですが、これでも、難しくはないですね。
2 に関する条件から、X = 2 * a + 1 と書けます。
3 に関する条件から、a = 3 * b + p, p = 0 〜 2 として、X = 2 * 3 * b + 2 * p + 1 なので、
(2 * p + 1) + 2 = 2 * p + 3 より、p = 0 と決まり、X = 2 * 3 * b + 1 と書けます。
5 に関する条件から、b = 5 * c + q, q = 0 〜 4 として、X = 2 * 3 * 5 * c + 6 * q + 1 なので、
(6 * q + 1) + 6 = 6 * (q + 1) + 1 = 5 * (q + 1) + (q + 2) より、q = 3 と決まり、
X = 2 * 3 * 5 * c + 19 と書けます。
11 に関する条件から、c = 11 * d + r, r = 0 〜 10 として、X = 2 * 3 * 5 * 11 * d + 30 * r + 19 なので、
(30 * r + 19) + 30 = 30 * (r + 1) + 19 = 11 * (2 * (r + 1) + 1) + 8 * (r + 2) より、r = 9 と決まり、
X = 2 * 3 * 5 * 11 * d + 289 と書けます。
41 に関する条件から、d = 41 * e + s, s = 0 〜 40 として、X = 2 * 3 * 5 * 11 * 41 * e + 330 * s + 289 なので、
(330 * s + 289) + 330 = 330 * (s + 1) + 289 = 41 * (8 * (s + 1) + 7) + 2 * (s + 2) より、s = 39 と決まり、
X = 2 * 3 * 5 * 11 * 41 * e + 330 * 39 + 289 = 2 * 3 * 5 * 11 * 41 * e + 13159 と書けます。
最小の X を求めるので、e = 0 として、X = 13159 になります。

(解法3)
(解法2)と実質同じなのですが、(解法1)のように、余りをマイナスにしてみたもの。
本質的に差はないのですが、試しにやってみて「おや?」と思い(解法4)に気付いたので、一応書いておきます。
2 に関する条件から、X = 2 * a - 1 と書けます。
3 に関する条件から、a = 3 * b - p, p = 0 〜 2 として、X = 2 * 3 * b - 2 * p - 1 なので、
- 2 * p - 1 + 2 = - 2 * p + 1 より、p = 2 と決まり、X = 2 * 3 * b - 5 と書けます。
5 に関する条件から、b = 5 * c - q, q = 0 〜 4 として、X = 2 * 3 * 5 * c - 6 * q - 5 なので、
- 6 * q - 5 + 6 = - 6 * q + 1 = - 5 * q + (- q + 1) より、q = 1 と決まり、
X = 2 * 3 * 5 * c - 11 と書けます。
11 に関する条件から、c = 11 * d - r, r = 0 〜 10 として、X = 2 * 3 * 5 * 11 * d - 30 * r - 11 なので、
- 30 * r - 11 + 30 = 30 * (- r + 1) - 11 = 11 * (2 * ( - r + 1) - 1) + 8 * (- r + 1) より、r = 1 と決まり、
X = 2 * 3 * 5 * 11 * d - 41 と書けます。
41 に関する条件から、d = 41 * e - s, s = 0 〜 40 として、X = 2 * 3 * 5 * 11 * 41 * e - 330 * s - 41 なので、
- 330 * s - 41 + 330 = 330 * (- s + 1) - 41 = 41 * (8 * (- s + 1) - 1) + 2 * (- s + 1) より、s = 1 と決まり、
X = 2 * 3 * 5 * 11 * 41 * e - 330 - 41 = 2 * 3 * 5 * 11 * 41 * e - 371 と書けます。
最小の X を求めるので、e = 1 として、X = 13159 になります。

(解法4)
(解法1)と(解法2)をつなげようと思って試しにやってみた(解法3)から、気付いた方法。
(解法3)で余りの部分を求めると、最初以外は常に変数が 1 となり、そのときの余りが次の条件の割る数になっています。
これは何かあるな、と思い、再考して得られたのが、この解法です。
一般に、a, b を互いに素として、a を加えて b で割り切れ、b を加えて a で割り切れる数は、a + b を加えると ab で割り切れます。
実際、a を加えて b で割り切れる数は、n * b - a と書けますが、これに b を足すと (n+1) * b - a なので、
a, b が互いに素のときは、n+1 が a で割り切れる必要があります。
そこで、n = m * a - 1 になりますが、このとき元の数 n * b - a は、m * a * b - a - b になるので、a + b を加えれば ab で割り切れます。
さらに、このときの最小の正の数は、m = 1 で、a * b - a - b と書けます。
似たような話は、確か、算チャレの過去問にあったような気もします。
これを使うと...
2, 3 に関する条件から、可能性のある数は、6 * p + 1 です。これは、先ほどのことは使えませんが、目の子で分かります。
そして、ここからがポイントですが、6 * p + 1 は、5 を加えると 6 で割り切れます!
これと 5 に関する条件から、今度は上記のことが使えて、可能性のある数は、q * 5 * 6 - 5 - 6 = 30 * q - 11 です。
そしてこれは、11 を加えると 30 で割れます。
これと 11 に関する条件から、可能性のある数は、r * 11 * 30 - 11 - 30 = 330 * r - 41 です。
そしてこれは、41 を加えると 330 で割れます。
これと 41 に関する条件から、可能性のある数は、s * 41 * 330 - 41 - 330 = 13530 * s - 371 です。
これですべての条件を満たす数が構成できました。
したがって、最小の数 X は、s = 1 として、X = 13530 * 1 - 371 = 13159 になります。
ネコの住む家   4月13日(木) 14:44:04   MAIL:uchi@sco.bekkoame.ne.jp   27204

過去問題一覧へ戻る