「3桁÷2桁=2桁あまり2桁」で1から9までの数字をすべて使う

Pocket

こんなパズルがあるそうです。

「3桁÷2桁=2桁あまり2桁」となる計算で、1から9までの数字をすべて使う場合を見つけろ。

例を挙げると「589 ÷ 46 = 12 あまり 37」。数字が9個ありますが1から9までの数字がすべて使われています。
このようなケースが他にもあるのですべて見つけろ、というわけです。

算数的、数学的に解けるのかもしれませんが、コンピューター的に解いてみました。つまり「しらみつぶし法」です。
JavaScriptで書きました。

as = new Array();
for (a = 123; a <= 987; a++) {
    for (b = 12; b <= 98; b++) {
        c = Math.floor(a / b);
        d = a % b;
        as[0] = Math.floor(a / 100);
        as[1] = Math.floor((a % 100) / 10);
        as[2] = a % 10;
        as[3] = Math.floor(b / 10);
        as[4] = b % 10;
        as[5] = Math.floor(c / 10);
        as[6] = c % 10;
        as[7] = Math.floor(d / 10);
        as[8] = d % 10;
        if (checker(as) == 0) {
            document.write(a + " ÷ " + b + " = ");
            document.write(c + " あまり " + d + "<br>");
        }
    }
}

function checker(rs) {
    rs.sort();
    for (h = 0; h < 9; h++) {
        if (rs[h] != h + 1) {
            return (1);
        }
    }
    return (0);
}

パターンとしては割られる数は123から987まで、割る数は12から98まで、と高々10万通り。
それらで片端から計算してチェックするという方法です。
実行はほぼ一瞬で終わります。

実行結果

589 ÷ 46 = 12 あまり 37
687 ÷ 54 = 12 あまり 39
746 ÷ 59 = 12 あまり 38
763 ÷ 49 = 15 あまり 28
793 ÷ 48 = 16 あまり 25
796 ÷ 58 = 13 あまり 42
853 ÷ 67 = 12 あまり 49
856 ÷ 49 = 17 あまり 23
859 ÷ 64 = 13 あまり 27
865 ÷ 49 = 17 あまり 32
873 ÷ 69 = 12 あまり 45
874 ÷ 65 = 13 あまり 29
879 ÷ 24 = 36 あまり 15
879 ÷ 36 = 24 あまり 15
892 ÷ 65 = 13 あまり 47
895 ÷ 67 = 13 あまり 24
967 ÷ 28 = 34 あまり 15
967 ÷ 34 = 28 あまり 15
975 ÷ 68 = 14 あまり 23
984 ÷ 56 = 17 あまり 32
987 ÷ 63 = 15 あまり 42

答は、全部で21通り、あるようです。

関連記事

[ 2010年7月19日 | カテゴリー: 小ネタ | タグ: , , ]

« | »

コメント

  1. […] 前に「3桁÷2桁=2桁あまり2桁」で1から9までの数字をすべて使うというパズルを取り上げましたが、今回の次の通り。 「4桁÷4桁=1桁(あまりゼロ)」となる計算で、1から9までの数字をすべて使う場合を見つけろ。 […]

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報