对于我在 uni 的离散结构类,我需要编写一个方法来解决以下公式:
s[0] = 1
s[n-1] = s[n-2] + n 对于所有 n >= 2
不幸的是,我之前没有实现过很多递归方法,所以我真的不知道自己在做什么。对我来说,事情并没有像往常那样“点击”。
我会以任何可能的方式感谢帮助,但我宁愿完全理解这一点,而不是仅仅复制粘贴别人的工作。
如果 n = 8,则此方法应完成的基本示例...
1 + 2 = 3 ,
3 + 3 = 6 ,
6 + 4 = 10 ,
10 + 5 = 15 ,
15 + 6 = 21 ,
21 + 7 = 28 ,
28 + 8 = 36,我们的答案。
我写了一个方法来解决这个NON递归(如下所示),所以我理解它背后的数学。
public static int sequenceNonRecursive(int n){
int[] s = new int[n];
s[0] = 1;
if(n >= 2){
for(int i = 1; i < n; i++){
s[i] = s[i-1] + i + 1;
}
}
return s[n-1];
}
编辑:我解决了。谢谢大家的帮助!往下看我的答案。