karandash_olegЕсли приходится решать много таких задач, как первая, можно это дело рационализировать. Договоримся всё нумеровать с нуля (как поступают настоящие программисты): и перестановки в списке, и позиции цифр в каждой перестановке. Итак, наша перестановка
![$58$ $58$](https://dxdy-03.korotkov.co.uk/f/6/d/2/6d25c8494444c5833059403617003de282.png)
-я, нумеруя перестановки с нуля.
Запишем число
![$58$ $58$](https://dxdy-03.korotkov.co.uk/f/6/d/2/6d25c8494444c5833059403617003de282.png)
в
факториальной системе счисления:
![$58=0\cdot 6!+0\cdot 5!+2\cdot 4!+1\cdot 3!+2\cdot 2!+0\cdot 1!+0\cdot 0!$ $58=0\cdot 6!+0\cdot 5!+2\cdot 4!+1\cdot 3!+2\cdot 2!+0\cdot 1!+0\cdot 0!$](https://dxdy-01.korotkov.co.uk/f/c/6/1/c613925b4f7a32e1009c08f6c795c0a782.png)
По правилам, при
![$6!$ $6!$](https://dxdy-04.korotkov.co.uk/f/3/2/7/32795a9c812d0dbdbd82be34b82697a082.png)
может стоять коэффициент от
![$0$ $0$](https://dxdy-03.korotkov.co.uk/f/2/9/6/29632a9bf827ce0200454dd32fc3be8282.png)
до
![$6$ $6$](https://dxdy-04.korotkov.co.uk/f/3/2/7/327c36301dc71617dc7032f8ce30b23682.png)
, при
![$5!$ $5!$](https://dxdy-03.korotkov.co.uk/f/2/8/4/284572bb8324a8161227ea1482f58a0782.png)
— коэффициент от
![$0$ $0$](https://dxdy-03.korotkov.co.uk/f/2/9/6/29632a9bf827ce0200454dd32fc3be8282.png)
до
![$5$ $5$](https://dxdy-02.korotkov.co.uk/f/9/6/1/9612eecfec9dadf1a81d296bd247377782.png)
и так далее, тогда разложение единственно. Для небольших чисел его легко получить вручную.
Итак, у нас есть список коэффициентов
![$0,0,2,1,2,0,0$ $0,0,2,1,2,0,0$](https://dxdy-02.korotkov.co.uk/f/5/c/2/5c2953026a0677ea560780b61ca88cd082.png)
и список цифр
![$1,2,3,4,5,6,7$ $1,2,3,4,5,6,7$](https://dxdy-01.korotkov.co.uk/f/c/c/0/cc0d191dff6d828326e9caee9cbb45ba82.png)
. Делаем так. Берём значение самого левого коэффициента, берём цифру с такой позицией в списке цифр. Коэффициент вычёркиваем из списка коэффициентов, а взятую цифру пишем, и тоже вычёркиваем из списка цифр. Получится:
![$$\begin{array}{rcl}
{\color{magenta}0}021200 & {\color{magenta}1}234567 & 1\\
{\color{magenta}0}21200 & {\color{magenta}2}34567 & 12\\
{\color{magenta}2}1200 & 34{\color{magenta}5}67 & 125\\
{\color{magenta}1}200 & 3{\color{magenta}4}67 & 1254\\
{\color{magenta}2}00 & 36{\color{magenta}7} & 12547\\
{\color{magenta}0}0 & {\color{magenta}3}6 & 125473\\
{\color{magenta}0} & {\color{magenta}6} & 1254736\end{array}$$ $$\begin{array}{rcl}
{\color{magenta}0}021200 & {\color{magenta}1}234567 & 1\\
{\color{magenta}0}21200 & {\color{magenta}2}34567 & 12\\
{\color{magenta}2}1200 & 34{\color{magenta}5}67 & 125\\
{\color{magenta}1}200 & 3{\color{magenta}4}67 & 1254\\
{\color{magenta}2}00 & 36{\color{magenta}7} & 12547\\
{\color{magenta}0}0 & {\color{magenta}3}6 & 125473\\
{\color{magenta}0} & {\color{magenta}6} & 1254736\end{array}$$](https://dxdy-03.korotkov.co.uk/f/6/c/c/6cc3c3986109da0906c1ebb6549da84c82.png)
Цветом выделены цифры, с которыми мы сейчас поработаем и вычеркнем.