Tetration x & uarr; & uarr; n можно определить рекурсивно как
x ↑↑ n = x ^ (x ↑↑ (n-1))
Чтобы вы могли написать
long tetration(long x, long n) {
if (n == 0)
return 1;
else
return exp(x, tetration(x, n-1));
}
Но обратите внимание, что тетрация растет очень быстро, long
не будет достаточно большим, чтобы хранить даже 4 × 3 (= 1,3 & times; 10 154 ). Возможно, вам нужен BigInteger .
(Кстати, exp
обычно относится к унарной функции e x , двоичная функция x y обычно называется pow
.)