数字を逆さに並べる
十進BASIC_文字 へ戻る
大学生のための数学 へ戻る
2013.10.03


数字を逆さに並べて元の数に加えると 333333 になる数はいくつあるでしょうか?

  条件を満たす数は 333333 以下であることは明らかです。 また、 5桁の数字 99999 を逆さに並べて元の数字に加えても 333333 には届きませんので、 6桁の数字であることも解ります。 したがって、 条件を満たす数の10万の位の数は1〜3のどれかであると言えます。 したがって、 条件を満たす数の1の位の数は0〜3のどれかであり、 加えたときに1の位では繰上げがないことも解ります。

  加えたときにどの位でも繰り上げのない場合について考えてみましょう。 10万の位の数は1〜3のどれかです。 10万の位の数字が決まれば、 1の位の数字が1つだけ決まります。 1万の位の数は0〜3のどれかです。 1万の位の数字が決まれば、 十の位の数字が1つだけ決まります。 千の位の数は0〜3のどれかです。 千の位の数字が決まれば、 百の位の数字が1つだけ決まります。 したがって、 場合の数は次のようになります。
     

  さて、 加えたときに、 10万の位と1の位の数字は等しいこと、 かつ、 1万の位と十の位の数字は等しいこと、 かつ、 千の位の数字と百の位の数字は等しいこと。 これが数字を逆さに並べて元の数に加えると 333333 になるための必要条件です。
  ここで、 加えたときに1万の位と十の位のみで繰り上げがある場合について考えてみましょう。 この場合は、 加えたときに千の位の数よりも百の位の数の方が1つ大きくなりますので、 千の位の数字と百の位の数字は等しいことという必要条件に当てはまりません。
  次に、 加えたときに千の位と百の位のみで繰り上げがある場合を考えてみましょう。 この場合は、 加えたときに百の位の数よりも千の位の数の方が1つ大きくなりますので、 千の位の数字と百の位の数字は等しいことという必要条件に当てはまりません。
  その次に、 加えたときに、 10万の位と1の位以外の全ての位で繰り上げがある場合について考えてみましょう。 この場合は、 加えたときに1の位の数よりも10万の位の数が1つ大きくなりますので、 10万の位と1の位の数字は等しいことという必要条件に当てはまりません。
  以上の考察より、 加えたときに繰上げが生じないことが、 数字を逆さに並べて元の数に加えると 333333 になるための必要条件であることが解りました。 したがって、 加えたときに繰り上げのない場合の数がそのまま答えになっていることが解ります。


  この問題を解くプログラムを4つ作ってみました。