tło
W tym wyzwaniu podstawowa b
reprezentacja liczby całkowitej n
jest wyrażeniem n
sumy potęg b
, gdzie każdy termin występuje w większości b-1
przypadków. Na przykład podstawowa 4
reprezentacja 2015
to
4^5 + 3*4^4 + 3*4^3 + 4^2 + 3*4 + 3
Teraz, dziedziczny Base- b
przedstawienie n
otrzymuje się przez przeprowadzenie ich w wykładniki Base- b
reprezentacje następnie przekształcenie ich wykładniki itd rekurencyjnie. Zatem dziedziczna podstawowa 4
reprezentacja 2015
jest
4^(4 + 1) + 3*4^4 + 3*4^3 + 4^2 + 3*4 + 3
Jako bardziej złożony przykład dziedziczna 3
reprezentacja bazy
7981676788374679859068493351144698070458
jest
2*3^(3^(3 + 1) + 2) + 3 + 1
Dziedziczne zmianę zasady z n
od b
celuc
, oznaczone H(b, c, n)
jest liczbą otrzymywaną poprzez dziedziczne zasadową- b
reprezentację n
, zastępując co b
o c
i oceny uzyskanej ekspresji. Na przykład wartość
H(3, 2, 7981676788374679859068493351144698070458)
jest
2*2^(2^(2 + 1) + 2) + 2 + 1 = 2051
Wyzwanie
Są podane jako wejście trzy liczby całkowite b
, c
, n
, dla których można założyć n >= 0
i b, c > 1
. Twój wynik to H(b, c, n)
. Wygrywa najkrótsza liczba bajtów, a standardowe luki są niedozwolone. Możesz napisać funkcję lub pełny program. Musisz być w stanie poradzić sobie z dowolnie dużymi wejściami i wyjściami (bignum).
Przypadki testowe
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
Śmieszny fakt
Dla dowolnej liczby całkowitej n
sekwencja uzyskana przez
n1 = n
n2 = H(2, 3, n1) - 1
n3 = H(3, 4, n2) - 1
n4 = H(4, 5, n3) - 1
....
w końcu sięga 0
. Jest to znane jako twierdzenie Goodsteina .
D(GHY=Z0)R&Y+*%YG^H(GHZ)(GH/YGhZ
. Dodaj go, jeśli chcesz (idę do wskazówek dotyczących gry w pyth: D)