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