バックグラウンド
この課題では、整数の基本b
表現はの累乗の合計としてのn
表現でありn
、各項はb
ほとんどの場合発生しb-1
ます。たとえば、のベース4
表現2015
は
4^5 + 3*4^4 + 3*4^3 + 4^2 + 3*4 + 3
ここで、の遺伝的基底b
表現はn
、指数を基底b
表現に変換し、次にそれらの指数を再帰的に変換することなどによって取得されます。したがって、遺伝ベースの4
表現2015
は
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に取り掛かっています)