sfondo
In questa sfida, una rappresentazione baseb di un numero intero nè un'espressione di nuna somma di poteri di b, in cui ogni termine si verifica nella maggior parte dei b-1casi. Ad esempio, la 4rappresentazione base di 2015è
4^5 + 3*4^4 + 3*4^3 + 4^2 + 3*4 + 3
Ora, la rappresentazione ereditaria di base bdi nviene ottenuta convertendo gli esponenti nelle loro brappresentazioni di base , quindi convertendo i loro esponenti e così via ricorsivamente. Quindi la 4rappresentazione ereditaria di base di 2015è
4^(4 + 1) + 3*4^4 + 3*4^3 + 4^2 + 3*4 + 3
Come esempio più complesso, la 3rappresentazione ereditaria di base di
7981676788374679859068493351144698070458
è
2*3^(3^(3 + 1) + 2) + 3 + 1
Il cambiamento di base ereditario di nda bac , indicato H(b, c, n), è il numero ottenuto prendendo la brappresentazione di base ereditaria di n, sostituendo ogni bda ce valutando l'espressione risultante. Ad esempio, il valore di
H(3, 2, 7981676788374679859068493351144698070458)
è
2*2^(2^(2 + 1) + 2) + 2 + 1 = 2051
La sfida
Si sono dati come input tre interi b, c, n, per il quale si può assumere n >= 0e b, c > 1. Il tuo output è H(b, c, n). Vince il conteggio dei byte più breve e non sono consentite scappatoie standard. È possibile scrivere una funzione o un programma completo. Devi essere in grado di gestire input e output arbitrariamente grandi (bignum).
Casi test
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
Fatto divertente
Per qualsiasi numero intero n, la sequenza ottenuta da
n1 = n
n2 = H(2, 3, n1) - 1
n3 = H(3, 4, n2) - 1
n4 = H(4, 5, n3) - 1
....
alla fine raggiunge 0. Questo è noto come teorema di Goodstein .
D(GHY=Z0)R&Y+*%YG^H(GHZ)(GH/YGhZ. Sentiti libero di aggiungerlo se vuoi (vado ai suggerimenti per giocare a golf in Pyth: D)