覆面算
4つの数を 四則演算をつかって10 にするというパズルの話題がおしゃべりに上がった。
# 1, 9, 1, 9 から 10 をつくるのは有名な問題の1つ。
# 1, 9, 2, 9 なら 2*9 - (9-1) で 10 にできる。
その影響かどうかしらないけど、夢でなぜか、覆面算のことが出てきた。
ruby や prolog で覆面算を扱っているページを google 検索してみた。
- http://www.geocities.jp/m_hiroi/prolog/prolog14.html#answer2
SEND + MORE = MONEY を prolog で解く
- http://d.hatena.ne.jp/fkino/20061022
HACKER + HACKER + HACKER = ENERGY を ruby で解く
- http://tsukimi.agusa.i.is.nagoya-u.ac.jp/~mzp/b4/?exercise
HACKER + HACKER + HACKER + HACKER = ENERGY という問題
HACKER * 3 = ENERGY は解が複数あるようだが、
HACKER * 7 = ENERGY や HACKER * 8 = ENERGY は解が1つだけのようだ。
白雪姫の7人の小人はちいさな穴をあけることができるが、
7人のハッカーなら、エネルギーをつくるというわけか!
$ cat hacker.rb
# See http://d.hatena.ne.jp/fkino/20061022
# http://tsukimi.agusa.i.is.nagoya-u.ac.jp/~mzp/b4/?exercise
# HACKER + HACKER + HACKER + HACKER= ENERGYmodule Place
def place n
self / n % 10
enddef place2 nn
self / nn % 100
end
endclass Integer
include Place
endmodule Uniq
def uniq?
size = self.size
self.uniq!
self.size == size
end
endclass Array
include Uniq
endmult = 8
(100000..999999).each do |energy| # 300000
e = energy.place(100000)
next if e == 0
e2 = energy.place(1000)
next unless e == e2
n = energy.place(10000)
r = energy.place(100)
g = energy.place(10)
y = energy.place(1)
next unless [e, n, r, g, y].uniq?
next unless energy % mult == 0 # % 3
hacker = energy / mult # / 3
next unless hacker.place2(1) == energy.place2(100)
h = hacker.place(100000)
next if h == 0a = hacker.place(10000)
c = hacker.place(1000)
k = hacker.place(100)
next unless [e, n, r, g, y, h, a, c, k].uniq?
puts "------"
puts "HACKER", hacker
puts "ENERGY", energy
puts "------"
end
$ ruby hacker.rb
------
HACKER
103978
ENERGY
727846
------
# xfy/xvcd だけで、覆面算を解けるか?
(そんな手間をかけるより、 xvcd から ruby 呼び出しするのが一番と俺は感じるけど...)
マーティン ガードナー のパスル本に沢山の覆面算があり、それを解いて楽しんだことがあったのを思い出した。
« ピックアップ:マックで頼める公式裏メニュー一覧、とってもお手軽なFavicon作成ツール『Favikon』, etc... | トップページ | ピックアップ:「ホールを埋める学生のほとんどがMacユーザー」写真, ブログは死にゆく技術か?, etc... »
この記事へのコメントは終了しました。
« ピックアップ:マックで頼める公式裏メニュー一覧、とってもお手軽なFavicon作成ツール『Favikon』, etc... | トップページ | ピックアップ:「ホールを埋める学生のほとんどがMacユーザー」写真, ブログは死にゆく技術か?, etc... »
コメント