【发布时间】:2013-12-31 04:11:34
【问题描述】:
我有递归函数:
public static int fRek(int n) {
if (n <= 0)
return 1;
else if (n == 1)
return 2;
else
return 3 * fRek(n-2)-3;
}
问题:如何在迭代中编写它?循环? 我有这个:
public static int fIter(int a) {
int b = 1 ;
if (a <= 0) return 1;
else if (a == 1) return 2;
for (int i = 1; i <= a; i = i+2) {
b = b * 3;
b = b - 3;
}
return b;
}
}
但它只适用于偶数:a = 4,6,8,... 对于奇数,它不能正常工作,我不知道为什么
【问题讨论】:
-
自己试试吧。如果您发现任何问题,请回来并描述它们。
标签: java function recursion iteration