過去ログ

uchinyan
他の解法、やっと、正解と一致しました (^^;
#28742の解法を(解法1)としておきます。

(解法2)
まず、0 〜 9 の数字が続く組み合わせは、
二つの場合 01, 34 など、三つの場合 234, 789 など、四つの場合 1234, 7890 など、いずれも 10 通りです。
さて、すべての可能な四桁の数 abcd は 0 〜 9 を並べればいいので、10 * 9 * 8 * 7 = 5040 通り。
次に、abcd で数字が二つ続く場合は、ab, bc, cd の三箇所に数字が増える方向又は減る方向に現れて、
それ以外は何でもいいので、10 * 3 * 2 * 8 * 7 = 3360 通り。
しかし、これには、数字が三つ続く場合、数字が四つ続く場合、1287 のように続きがペアになる場合が重複しています。
数字が三つ続く場合は、abc, bcd となる場合で、数字が二つ続く場合の中に二つずつ重複しています。
これは、一回分で 10 * 2 * 2 * 7 = 280 通り なので、これを引きます。
また、続きがペアになる場合 ab cd も、数字が二つ続く場合の中に二つずつ重複しています。
これは、ab を選ぶと cd に a, b が入れないことに注意して、一回分で 10 * 2 * 7 * 2 = 280 通り で、これも引きます。
しかし今度は、数字が四つ続く場合 abcd が、数字が二つ続く場合の中に三つずつ入っていたのですが、
数字が三つ続く場合で二つずつ、続きがペアになる場合で一つずつ入っているので、相殺されてしまい、
引きすぎているので、これの一回分 10 * 2 = 20 通りを足します。
したがって、結局、数字が二つ以上続く場合は、3360 - 280 - 280 + 20 = 2820 通りで、
求めるものは、これを全体から引いて、5040 - 2820 = 2220 通り、になります。

(解法3)
これは、(解法2)の方向ですが、数字が二つ以上続く場合を、数字が二つだけ続く場合などに分けて、(解法1)風に数える方法です。
面倒なので、結果だけを示します。
全体:10 * 9 * 8 * 7 = 5040
数字が四つ続く場合:10 * 2 = 20
数字が三つだけ続く場合:10 * 2 * 2 * 6 = 240
数字が二つだけ続く場合:
12xx 型::10 * 2 * (1 * 6 + 6 * 5) = 720
xx12 型::10 * 2 * (1 * 6 + 6 * 5) = 720
x12x 型::10 * 2 * (1 * 7 + 6 * 6) = 860
1278 型::10 * 2 * (1 * 1 + 6 * 2) = 260
合計::720 + 720 + 860 + 260 = 2560
数字が二つ以上続く場合:2560 + 240 + 20 = 2820
求める場合:5040 - 2820 = 2220 通り

帳尻が合ったのはうれしいですが、いずれにせよ、あまりうまい解法ではないですね。
ネコの住む家   11月23日(木) 13:59:08   MAIL:uchi@sco.bekkoame.ne.jp   28743

過去問題一覧へ戻る