順列 in 有限と微小のパン

分厚い辞典のような本、森博嗣さんの「有限と微小のパン」を読んだ。

有限と微小のパン (講談社文庫)

有限と微小のパン (講談社文庫)

その中で塙理生哉どのが天才少女 萌絵ちゃんを口説こう(?)とする一節。

「A・E・H・R・T」男はゆっくりと言った。「この五文字でできるすべての文字列は?」
「百二十」萌絵は答える。
「アルファベット順に並べると、地球は何番目?」
「二十八番目です」
「そう……」男は微笑んで頷く。「では……」
「五十五番目をお訪ねになるのね?」萌絵も微笑んだ。

うわー、、、こんな人いたら本当に怖いというか惚れ込んでしまいそう(ウソ)。
とわいえ、ピンク色のヘボイ脳細胞しか持たない私の場合、即座に、これ無理フラグが立ってしまっている。感性は見た瞬間に "HEART"を連想したのだけれど(1swapなので)でもこれって本当に55番目? とかやはり感性よ、お前の限界はそんなところだな、、、と悲しくなったのでMacに聞いてみることに。。。pythonで順列ってどーだっけ?と悩んでる時間も惜しくて、ありがたいrubyに頼んでみた。ところが、

"EARTH".split("").permutation.to_a.sort

してから困る。 .eachすると deep each(っていうのかな?)してしまう。仕方なく

"EARTH".split("").permutation.to_a.sort.map { |k| k.to_s }[54]

とかカッコ悪いことしてしまった。

=> "HEART"

ビンゴ

追記:
今更気付いた。A, Eが先頭の奴が 4! x 2 = 48。HAが先頭なのが 3! = 6。だから 54個前があってその次だから、 55番目か。なあるほど。