関数内で ↑ であり、ここで見つけることができるクヌースの矢印表記を計算するのに問題があります。私がこれまでに作ったものは次のとおりです。
int arrowCount = (int)arrowNum.Value; // Part of
BigInteger a = (int)aNum.Value; // the input I
BigInteger b = (int)bNum.Value; // already have
BigInteger result = a;
BigInteger temp = a;
for(int i = 0; i < arrowCount; i++)
{
result = Power(temp, b);
temp = r;
b = a;
}
力を持って
BigInteger Power(BigInteger Base, BigInteger Pow)
{
BigInteger x = Base;
for(int i = 0; i < (Pow-1); i++)
{
x *= Base;
}
return x;
}
しかし、それは値が正しくなく、修正する方法がわかりません。3↑3 (つまり3^3 = 9 ) のような 1 つの矢印の問題を処理できますが、それ以上の矢印を処理することはできません。
3↑↑3など、より多くの矢印を把握する方法が必要です。
これは7625597484987 (3^27)で、19683 (27^3)になります。適切な出力を取得する方法を理解して、何が間違っているのかを説明していただければ幸いです。