Hintergrund
In dieser Herausforderung eine base b
Darstellung einer ganze Zahl n
ist Ausdruck n
als eine Summe von Potenzen von b
, wo jeder Begriff höchstens tritt b-1
Zeiten. Zum Beispiel kann die basen- 4
Darstellungsart 2015
ist
4^5 + 3*4^4 + 3*4^3 + 4^2 + 3*4 + 3
Nun wird die erbliche Basisdarstellung b
von n
erhalten, indem die Exponenten in ihre Basisdarstellungen b
konvertiert werden, dann ihre Exponenten konvertiert werden und so weiter rekursiv. So ist die erbliche base- 4
Darstellung 2015
IS
4^(4 + 1) + 3*4^4 + 3*4^3 + 4^2 + 3*4 + 3
Als komplexeres Beispiel dient die erbliche Basisrepräsentation 3
von
7981676788374679859068493351144698070458
ist
2*3^(3^(3 + 1) + 2) + 3 + 1
Die erbliche Basisänderung von n
von b
bisc
, bezeichnet H(b, c, n)
, ist die Zahl, die erhalten wird, indem die erbliche Basisdarstellung b
von genommen n
wird, jede b
durch ersetzt c
wird und der resultierende Ausdruck bewertet wird. Zum Beispiel der Wert von
H(3, 2, 7981676788374679859068493351144698070458)
ist
2*2^(2^(2 + 1) + 2) + 2 + 1 = 2051
Die Herausforderung
Sie werden als Eingang drei ganze Zahlen gegeben b
, c
, n
, für die Sie übernehmen n >= 0
und b, c > 1
. Ihre Ausgabe ist H(b, c, n)
. Die kürzeste Byteanzahl gewinnt und Standardschlupflöcher sind nicht zulässig. Sie können entweder eine Funktion oder ein vollständiges Programm schreiben. Sie müssen in der Lage sein, beliebig große Ein- und Ausgänge (Bignums) zu verarbeiten.
Testfälle
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
Fun Fact
Für jede ganze Zahl n
die durch
n1 = n
n2 = H(2, 3, n1) - 1
n3 = H(3, 4, n2) - 1
n4 = H(4, 5, n3) - 1
....
erreicht schließlich 0
. Dies ist als Goodsteins Theorem bekannt .
D(GHY=Z0)R&Y+*%YG^H(GHZ)(GH/YGhZ
. Fühlen Sie sich frei, es hinzuzufügen, wenn Sie möchten (ich gehe zu Tipps für das Golfen in Python: D)