java 1.定义一个方法(getSum),求1+2+…+n的和.(要求:使用两种方式,一种循环非递归方式,一种递归方式)

 我来答
雪V歌1
2017-12-15 · TA获得超过7104个赞
知道大有可为答主
回答量:5523
采纳率:89%
帮助的人:511万
展开全部
F1 = 1
F2 = F1 / 2
F3 = F2 / 3
Fn = F(n-1) / n
如果每一项都计算一遍阶乘,那么程序的复杂度会很大,可以通过备忘录的形式,比如将F(n-1)的计算结果保存下来,计算Fn的时候,就不用再计算(n-1)的阶乘了。
_慕_凉_
2017-12-15 · 超过40用户采纳过TA的回答
知道小有建树答主
回答量:68
采纳率:50%
帮助的人:37.6万
展开全部
public static void main(String args[]) {
System.out.println(getSum(10));
System.out.println(getS(10));
}
//循环非递归
public static int getSum(int num){
int sum = 0;
for(int i =1; i<=num;i++){
sum = sum + i;
}
return sum;
}
//递归
public static int getS(int num){
int sum = 0;
if(num!=0) {
sum = num + getS(num - 1);
}
return sum;
}
测试正常,如有疑问可继续补充
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式