Фон
У цьому виклику базове bпредставлення цілого числа nє вираженням nяк суми повноважень b, де кожен член має місце найчастіше b-1. Наприклад, базовим 4представленням 2015є
4^5 + 3*4^4 + 3*4^3 + 4^2 + 3*4 + 3
Тепер, спадкова base- bуявлення nвиходить шляхом перетворення експоненти в їх base- bуявлень, а потім перетворювати їх показники, і так далі рекурсивно. Таким чином, спадкова base- 4уявлення 2015IS
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), - це число, отримане шляхом прийняття спадкової бази - 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. Не соромтеся додати його, якщо хочете (я переходжу до підказок щодо гольфу в pyth: D)