2014年3月6日木曜日

140306

Ruby


Array#permutationを用いて、下の覆面算を解いてみる。

  SEND
+MORE
-----
 MONEY

(0..9).to_a.permutation(8) do |s, e, n, d, m, o, r, y|
  next if s == 0 or m == 0
  send = s*1000 + e*100 + n*10 + d
  more = m*1000 + o*100 + r*10 + e
  money = m*10000 + o*1000 + n*100 + e*10 + y
  if send+more == money then
  print "#{send} + #{more} = #{money}" 
  end
end

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。