我需要开发一个递归程序,可以在f3时计算结果1 / i + 2 /(i-1)+ 3 /(i-2)+ ... +(i-1)/ 2 + i / 1 (1,i)被称为。
public class Project4f3
{
public static int f3(int x, int y)
// I know that it has to have a stop termination and i think that is when x==y, but im not sure
if (x==y) return ??
else return f3(x+1,y-1)
// don't think this is right but this is where I am at right now
}
public static void main(String[] args)
{
System.out.print(f3(1,i));
}
}
答案 0 :(得分:3)
要开发递归算法,您需要考虑两件事:
n == 1
,您可以直接计算答案。n - 1
的答案,那么如何使用它来计算n
的答案?一旦确定了这些,您就可以定义和编写递归方法了。
(我应该指出,我在这里使用的n
不一定是您在等式中使用的i
。使用等式中的项数可能更有意义作为n
,或者也许是中期任何一方的元素数量。递归解决问题的创造性部分 - 通常也是最困难的部分 - 提出了正确的问题表示。)