壊死と絵師は同じ発音じゃん?
なんて暇つぶしながら待合室、病院の
倒置と統治、倒錯と盗作も同じ発音?
壊死しちゃって
自分で切断するより
プロの方が残る部分多いから
病院ポスターはレギュレーションきついから
どれも似た感じなのかな
廊下徘徊
椎間板(ついかんばん)ヘルニアのポスター
それで対関数(ついかんすう)を思い出す
僕は携帯電話を持っていないからポスターの写真が撮れないので Wikipedia の椎間板と対関数から

似てるよね?僕は似ていると思う
対関数を使うと (x, y, z) を一意の数字にできるなと
対関数は 2 つの数を一意の数字にできる
だから x と y から求めた一意の数字と、z の対で求まる
def cantor_pairing(x, y)
(x + y) * (x + y + 1) / 2 + y
end
def cantor_pairing_3(x, y, z)
cantor_pairing(cantor_pairing(x, y), z)
end
patterns = (0..10).to_a.repeated_permutation(3).to_a
patterns.each do |coords|
x, y, z = coords
unique_number = cantor_pairing_3(x, y, z)
puts "(#{x}, #{y}, #{z}) -> #{unique_number}"
end
Ruby の repeated_permutation が便利
Python の itertools.product はいつも引数を忘れちゃう
(0, 0, 0) -> 0
(0, 0, 1) -> 2
(0, 0, 2) -> 5
(0, 0, 3) -> 9
(0, 0, 4) -> 14
(0, 0, 5) -> 20
(0, 0, 6) -> 27
(0, 0, 7) -> 35
(0, 0, 8) -> 44
(0, 0, 9) -> 54
(0, 0, 10) -> 65
:
(1, 2, 3) -> 69
:
(8, 0, 0) -> 666
(1, 2, 3) と (8, 0, 0) はニンゲンのバグで綺麗に見える
(69, 69, 69) -> 47331654
(666, 666, 666) -> 395258741271
こちらは僕には綺麗さが見つけられず
ラマヌジャンならタクシー数みたいに面白さを見つけられるのかもな
あ、車にひかれた猫がいる!
47331654 と 395258741271 にいるよね!