⍝ Bijective numeration:
1adic¨0 to 5 ⍝ unary numbers
┌┬─┬───┬─────┬───────┬─────────┐
││1│1 1│1 1 1│1 1 1 1│1 1 1 1 1│
└┴─┴───┴─────┴───────┴─────────┘
⍕ 1 2∘adic¨ 32 4⍴ 0 to 128
1 2 1 1
1 2 2 1 2 2 1 1 1
1 1 2 1 2 1 1 2 2 2 1 1
2 1 2 2 2 1 2 2 2 1 1 1 1
1 1 1 2 1 1 2 1 1 1 2 2 1 2 1 1
1 2 1 2 1 2 2 1 1 2 2 2 2 1 1 1
2 1 1 2 2 1 2 1 2 1 2 2 2 2 1 1
2 2 1 2 2 2 2 1 2 2 2 2 1 1 1 1 1
1 1 1 1 2 1 1 1 2 1 1 1 1 2 2 1 1 2 1 1
1 1 2 1 2 1 1 2 2 1 1 1 2 2 2 1 2 1 1 1
1 2 1 1 2 1 2 1 2 1 1 2 1 2 2 1 2 2 1 1
1 2 2 1 2 1 2 2 2 1 1 2 2 2 2 2 1 1 1 1
2 1 1 1 2 2 1 1 2 1 2 1 1 2 2 2 1 2 1 1
2 1 2 1 2 2 1 2 2 1 2 1 2 2 2 2 2 1 1 1
2 2 1 1 2 2 2 1 2 1 2 2 1 2 2 2 2 2 1 1
2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 1 1 1 1 1
1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 2 1 1
1 1 1 2 1 2 1 1 1 2 2 1 1 1 1 2 2 2 1 1 2 1 1 1
1 1 2 1 1 2 1 1 2 1 2 1 1 1 2 1 2 2 1 1 2 2 1 1
1 1 2 2 1 2 1 1 2 2 2 1 1 1 2 2 2 2 1 2 1 1 1 1
1 2 1 1 1 2 1 2 1 1 2 1 1 2 1 1 2 2 1 2 1 2 1 1
1 2 1 2 1 2 1 2 1 2 2 1 1 2 1 2 2 2 1 2 2 1 1 1
1 2 2 1 1 2 1 2 2 1 2 1 1 2 2 1 2 2 1 2 2 2 1 1
1 2 2 2 1 2 1 2 2 2 2 1 1 2 2 2 2 2 2 1 1 1 1 1
2 1 1 1 1 2 2 1 1 1 2 1 2 1 1 1 2 2 2 1 1 2 1 1
2 1 1 2 1 2 2 1 1 2 2 1 2 1 1 2 2 2 2 1 2 1 1 1
2 1 2 1 1 2 2 1 2 1 2 1 2 1 2 1 2 2 2 1 2 2 1 1
2 1 2 2 1 2 2 1 2 2 2 1 2 1 2 2 2 2 2 2 1 1 1 1
2 2 1 1 1 2 2 2 1 1 2 1 2 2 1 1 2 2 2 2 1 2 1 1
2 2 1 2 1 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 1 1 1
2 2 2 1 1 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 1 1
2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 1 1 1 1 1
⍕ 'abc'∘adic¨ 20 10⍴0 to 199
a b c aa ab ac ba bb bc
ca cb cc aaa aab aac aba abb abc aca
acb acc baa bab bac bba bbb bbc bca bcb
bcc caa cab cac cba cbb cbc cca ccb ccc
aaaa aaab aaac aaba aabb aabc aaca aacb aacc abaa
abab abac abba abbb abbc abca abcb abcc acaa acab
acac acba acbb acbc acca accb accc baaa baab baac
baba babb babc baca bacb bacc bbaa bbab bbac bbba
bbbb bbbc bbca bbcb bbcc bcaa bcab bcac bcba bcbb
bcbc bcca bccb bccc caaa caab caac caba cabb cabc
caca cacb cacc cbaa cbab cbac cbba cbbb cbbc cbca
cbcb cbcc ccaa ccab ccac ccba ccbb ccbc ccca cccb
cccc aaaaa aaaab aaaac aaaba aaabb aaabc aaaca aaacb aaacc
aabaa aabab aabac aabba aabbb aabbc aabca aabcb aabcc aacaa
aacab aacac aacba aacbb aacbc aacca aaccb aaccc abaaa abaab
abaac ababa ababb ababc abaca abacb abacc abbaa abbab abbac
abbba abbbb abbbc abbca abbcb abbcc abcaa abcab abcac abcba
abcbb abcbc abcca abccb abccc acaaa acaab acaac acaba acabb
acabc acaca acacb acacc acbaa acbab acbac acbba acbbb acbbc
acbca acbcb acbcc accaa accab accac accba accbb accbc accca
1∧.=, 1 'abc' ⎕a (⍳5) ∘.{⍵ ≡ ⍺ (adic⍣2) ⍵} 0 to 10 ⍝ check round-trip
1
⍕ ↑'fee' 'fi' 'foe' 'fum'∘ adic¨10*0 to 8 ⍝ deep alphabet
fee
fi fi
fee fee fum fum
foe foe fi fee fum
fi fee fi foe fum foe fum
fee fee fum fee fi fi fee foe fum
foe fi fum foe fum fee fum foe foe fum
fi fee fee fum fi fee fee fi fee foe foe fum
fee fee foe foe fee fee foe fee foe fum foe foe foe fum
⍝∇ adic to
Back to: code
Back to: Workspaces