0〜9のつく数と倍数でアホになりますか?解説

問題:http://d.hatena.ne.jp/aquaflow-t/20080523
回答:http://d.hatena.ne.jp/aquaflow-t/20080526
解説:いまここ
  
  
  
  
  
まず、「0」と「5」について考えてみます。2桁以下では0がつくのは10の倍数だけ。その中で60以下は全て7の倍数でも7がつく数字でもありません(ちょっと長いので、以下これを「7がダメ」と言う風に書くことにします。)70は7の倍数ですが8や9などがダメ。80と90は7がダメですね。と言うわけで99までには正解はありません。
  
次に3桁ですが、0がつく数字は10の倍数以外に「*05」または「50*」(*は3桁の数になるなら何でも)と言う形のものも考えられます。そこで、「10の倍数」「*05」「50*」の3通りに分けて(ただし後の2つは10の倍数のものを除きます)考えます。
  
1.10の倍数の場合
「7」について考えてみます。7がつくか7の倍数でなければならないので、「70の倍数」「*70」「7*0」の3通りがあります。
まず「*70」となる場合ですが、これは*7×10、つまり奇数の10倍です。これは4の倍数でも8の倍数でもありません。従って4と8がつく数字でなければなりませんが、そうしようとすると4桁になるのでダメ。
「7*0」の場合も同じような理由で710,730,750,770,790は却下。70の倍数である700(後で考えます)を除くと残りは720,740,760,780の4つです。この中で問題に合うものを探すと、答え「720」が出てきます。(それ以外はどこかしらでダメになります)
そして70の倍数の場合。奇数×10がダメになるのは先ほど書いた通りですので、偶数×10すなわち140の倍数のみを考えます。この中で3の倍数でないものは6や9の倍数でもないですから、369全てがつく数字でないといけなくなってダメ。従って140×3=420の倍数のみを考えますが、この中で3桁の数は420と840だけです。いずれも9がダメです。
  
2.*05の場合
これは明らかに奇数です。よって2468いずれの倍数でもありません。そのため2468が全てつく数でなければなりませんが、そのためには6桁必要になるのでダメです。
  
3.50*の場合
奇数の場合、2468いずれの倍数でもないですから、2468全てがつく数でなければならず、ダメ。よって偶数の502,504,506,508のみ考えます(500は1.で考えたのでパス)。この4つについて調べると、504が答えであることが分かります。
  
以上から、3桁での答えは504と720の2つしかない、と言うことが分かりました。
  
もっと良い解き方もありそうですが^^;;