Вот увлекся темой хранения нескольких чисел в одном. Пока нашел 2 варианта как сделать такую биекцию, но оба меня не устраивают.
1) определить что есть какое-то максимальное число
![$k$ $k$](https://dxdy-03.korotkov.co.uk/f/6/3/b/63bb9849783d01d91403bc9a5fea12a282.png)
, тогда при хранении чисел
![$a,b,c$ $a,b,c$](https://dxdy-01.korotkov.co.uk/f/0/b/1/0b1666db7be254fa8998cf3a27c985bb82.png)
в одном они просто образуют разряды в числе с
![$k$ $k$](https://dxdy-03.korotkov.co.uk/f/6/3/b/63bb9849783d01d91403bc9a5fea12a282.png)
-ичной системой счисления. Например для
![$k=10$ $k=10$](https://dxdy-01.korotkov.co.uk/f/0/0/a/00a17e9b89ebe07fe9a4fdf788f523b682.png)
числа
![$1, 2, 3$ $1, 2, 3$](https://dxdy-03.korotkov.co.uk/f/2/c/c/2ccb887fe1d354c9af701b2dc0f9850982.png)
объединяются в
![$123$ $123$](https://dxdy-04.korotkov.co.uk/f/f/b/9/fb931d3834c2db3f31d0b8d56fb550bd82.png)
2) придумать биекцию
![$f$ $f$](https://dxdy-02.korotkov.co.uk/f/1/9/0/190083ef7a1625fbc75f243cffb9c96d82.png)
из пары неотрицательных в одно натуральное, затем использовать её в качестве стека.
Так, объединением
![$1,2,3$ $1,2,3$](https://dxdy-04.korotkov.co.uk/f/f/c/c/fcc5751b4c7c0480657ef16b80aa698f82.png)
будет
![$f(f(f(0,1) ,2),3)$ $f(f(f(0,1) ,2),3)$](https://dxdy-01.korotkov.co.uk/f/4/3/7/4378045683216512cfe36749263877a982.png)
В первом случае мне не нравится ограничение максимального числа, а во втором мне не нравится то, что дтобы получить n-ное число необходимо итеративно спускаться по стеку, и не получается сделать это одной формулой.
Можно ли сделать такую биекцию, чтобы там не было ограничений на максимальное число, и не было ничего итеративного (т.е. чтобы можно было составить формулы в явном виде для добавления числа в объединение и чтения энного числа из объединения), или по каким-то соображениям это невозможно?