У продавца сока имеется n стаканов. Эти стаканы составлены в несколько
башен.
Башни стоят на столе в один ряд. От нечего делать продавец берeт по
одному стакану из каждой башни и составляет из этих стаканов новую башню, которую ставит
первой. Эту процедуру он повторяет многократно.
Разделение стаканов по башням иллюстрирует разбиение числа n в сумму
нескольких натуральных слагаемых (первое слагаемое — число стаканов в первой
башне, второе — во второй башне, и так далее).
"Преобразование продавца" переводит каждое такое разбиение в какое-то
другое разбиение.
Например, (11 + 8 + 1 + 3 + 1 + 4) переходит в (6 + 10 + 7 +
2 + 3).
Зададимся вопросом: что может увидеть покупатель, подошедший к продавцу через много часов его усердной деятельности?
Мы хотим проследить, какой путь проделывает один конкретный стакан.
Для этого необходимо договориться, какие именно стаканы берутся для
образования новой башни. Удобно считать, что продавец забирает самый нижний
стакан из первой башни, на него ставит самый нижний стакан из второй башни,
и так далее.
Каждый стакан имеет две координаты: текущий номер его башни и высота
внутри башни.