あなたのプログラムを使って宇宙人の種族を答えよ!

図書館で「数学の秘密の本棚」という
数学パズルやエピソードなどを集めた本を借りたよ


数学の秘密の本棚

数学の秘密の本棚


その一番最初に「宇宙人との遭遇」という
論理パズル問題が出ていたんだ


要約すると次のようなものだよ

ある惑星に着いた宇宙船の船長クワークの前に
3人の宇宙人が現れた
その惑星には嘘つきのギバリッシュという種族と
正直なベラシータという種族がいる


彼らの名前をアルフィ ベティ ゲンマとして
クワーク船長がそれぞれにその種族について聞くと
彼らは以下のように答えた

  1. アルフィ「ベティはギバリッシュだよ」
  2. ベティ「アルフィとゲンマは同じ種族だよ」
  3. ゲンマ「ベティはベラシータだよ」


これらの答えだけでクワーク船長は
それぞれの種族が分かったという
さて彼らの種族は?


可能性のある組合せが8組しか無いから
ちょっと考えれば答えが出るんだけど
それじゃつまらないよね..


そんなわけで..


この問題をみんなでプログラムで解いてみようよ!


宇宙人の名前は Alfy Betty Gemma
種族は Veracitor Gibberish だよ
答えが出たらこのブログに
「◯◯を使って宇宙人の種族を答えたよ!」とかのタイトルで
トラックバックしてくれるとうれしいよ


僕の要約じゃ問に不安がある人は
先のアマゾンのリンクを辿ってほしい
この問題は最初の問題で運のいいことに
なか見検索で読めるんだよ!


僕はもちろんRubyで解いてるよ


僕の答え ― Gist