Ruby
http://japla.sakura.ne.jp/workshop/workshop/2012/primar_2.pdf
に載っていた問題。
1から9まで一つずつ使って
abc * de = fg * hi
となるもののうち、その積が最大となるものを求めよ
という問題である。
1917年に発表されたものの、1971年まで正しい解が求まらなかったらしい。
しかし、プログラミングで求めれば一瞬である。
に載っていた問題。
1から9まで一つずつ使って
abc * de = fg * hi
となるもののうち、その積が最大となるものを求めよ
という問題である。
1917年に発表されたものの、1971年まで正しい解が求まらなかったらしい。
しかし、プログラミングで求めれば一瞬である。
ary = []
(1..9).to_a.permutation{|a|
i = a[0] * 100 + a[1] * 10 + a[2]
j = a[3] * 10 + a[4]
k = a[5] * 10 + a[6]
l = a[7] * 10 + a[8]
ary << i * j if i * j == k * l
}
p ary.uniq.sort
出力結果
[3634, 3726, 3886, 4002, 4234, 4662, 5022, 5056, 5568, 7008, 7448]
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。