任务:根据以下公式计算 an :
- a0 = 1
- a1 = 3
- a2 = 5
- an = an-1 * a2n-2 * a3n-3
我无法将函数变为迭代形式。我已经知道如何以递归的方式进行操作了,请问该任务应该如何实现,以及一般情况下应该如何实现?
以下是我的递归代码:
public static BigInteger recurs(int bigInteger){
BigInteger sum;
if (bigInteger == 0) {
sum = new BigInteger(String.valueOf("1"));
} else if (bigInteger == 1) {
sum = new BigInteger(String.valueOf("3"));
} else if (bigInteger == 2) {
sum = new BigInteger(String.valueOf("5"));
} else {
sum = recurs(bigInteger-1).multiply(recurs(bigInteger-2).pow(2).multiply(recurs(bigInteger-3).pow(3)));
}
return sum;
}
String.valueOf(string)
就等同于string
。 - Peter Lawrey