というクイズ。またもや、趣旨をくみ取れず…(^_^;)。ちなみに、この直前までは 2 の累乗に関するやりとりが少しあります。これがヒントなのか、そうでないのか…。ということで、よく分からないので、解答が示されるまでまた、Smalltalk(Squeak) システムで遊んでみましょう。とりあえず、歌の内容を Smalltalk のコードに書き下ろしてみると、……「そう、42億9496万7296通りのものを表現できます。 2のn乗は、プログラマにとってはfamiliarな「切りの良い」数ですね。 ここからが問題です」
彼女は突然、英語で歌を歌いだした。美しいソプラノだ。
As I was going to St. Ives (セント・アイヴズへ行く道すがら) I met a man with seven wives, (7人の奥さんを連れた男に会った) Each wife had seven sacks, (奥さんはそれぞれ7つの袋を持ち) Each sack had seven cats, (袋にはそれぞれ7匹の猫がいて) Each cat had seven kits: (猫にはそれぞれ7匹の子猫がいた) Kits, cats, sacks, and wives, (子猫と猫と袋と奥さん) How many were there going to St. Ives? (セント・アイヴズへ行ったのは全部でどれだけ?)歌い終わると彼女は私の答えを待たず、 すぐに姿を消してしまった。
| man | man ← Owner new. (man had: 7 wives) do: [ : eachWife | (eachWife had: 7 sacks) do: [ : eachSack | (eachSack had: 7 cats) do: [ : eachCat | (eachCat had: 7 kits) ]]]. ↑ man howManyCompanions => 2801
--sumim| man | man ← Human new. (man had: 7 wives) do: [ : eachWife | (eachWife had: 7 sacks) do: [ : eachSack | (eachSack had: 7 cats) do: [ : eachCat | (eachCat had: 7 kits) ]]]. ↑ man howManyCompanions: [ : each | each isKindOf: Human ] => 8 | man | man ← Human new. (man had: 7 wives) do: [ : eachWife | (eachWife had: 7 sacks) do: [ : eachSack | (eachSack had: 7 cats) do: [ : eachCat | (eachCat had: 7 kits) ]]]. ↑ man howManyCompanions: [ : each | each isKindOf: Mammal ] => 2752
このページを編集 (4760 bytes)
以下の 1 ページから参照されています。 |
This page has been visited 6137 times.