Фон
В этой задаче базовое b
представление целого числа n
является выражением n
в виде суммы степеней b
, где каждый член встречается в большинстве b-1
случаев. Например, base- 4
представление 2015
является
4^5 + 3*4^4 + 3*4^3 + 4^2 + 3*4 + 3
Теперь наследственное базисное b
представление n
получается путем преобразования показателей в их базовые b
представления, затем преобразования их показателей и т. Д. Рекурсивно. Таким образом, наследственная base- 4
представление 2015
IS
4^(4 + 1) + 3*4^4 + 3*4^3 + 4^2 + 3*4 + 3
В качестве более сложного примера, наследственная база- 3
представление
7981676788374679859068493351144698070458
является
2*3^(3^(3 + 1) + 2) + 3 + 1
Наследственная база изменения n
от b
доc
, обозначаемый H(b, c, n)
, это число , полученное путем принятия наследственного base- b
представления n
, заменяя каждый с b
помощью c
, и оценивая полученное выражение. Например, значение
H(3, 2, 7981676788374679859068493351144698070458)
является
2*2^(2^(2 + 1) + 2) + 2 + 1 = 2051
Соревнование
Вам предоставляется в качестве входных данных трех целых чисел b
, c
, n
, для которых вы можете считать n >= 0
и b, c > 1
. Ваш выход H(b, c, n)
. Самый короткий счет байтов побеждает, и стандартные лазейки запрещены. Вы можете написать либо функцию, либо полную программу. Вы должны быть в состоянии обрабатывать произвольно большие входы и выходы (bignums).
Тестовые случаи
4 2 3 -> 3
2 4 3 -> 5
2 4 10 -> 1028
4 4 40000 -> 40000
4 5 40000 -> 906375
5 4 40000 -> 3584
3 2 7981676788374679859068493351144698070458 -> 56761
2 3 2051 -> 35917545547686059365808220080151141317047
Интересный факт
Для любого целого числа n
последовательность получается
n1 = n
n2 = H(2, 3, n1) - 1
n3 = H(3, 4, n2) - 1
n4 = H(4, 5, n3) - 1
....
в конце концов достигает 0
. Это известно как теорема Гудштейна .
D(GHY=Z0)R&Y+*%YG^H(GHZ)(GH/YGhZ
. Не стесняйтесь добавлять его, если хотите (я собираюсь дать советы по игре в гольф в пите: D)