用递归算法求1~100的和,用java写。
3个回答
展开全部
public class Test { /*创建类*/
public static void main(String[] args) {
System.out.println(dg(100));
}
static int dg(int i) { /*定义变量 */
int sum;
if (i == 1) /*假设条件*/
return 1;
else
sum = i + dg(i - 1); /*1~100的和的表达式*/
return sum; /*返回结果*/
}
}
递归是计算机科学的一个重要概念,递归的方法是程序设计中有效的方法,采用递归编写。
递归能使程序变得简洁和清晰。
每次调用在规模上都有所缩小(通常是减半);
相邻两次重复之间有紧密的联系,前一次要为后一次做准备(通常前一次的输出就作为后一次的输入);
在问题的规模极小时必须用直接给出解答而不再进行递归调用,因而每次递归调用都是有条件的(以规模未达到直接解答的大小为条件),无条件递归调用将会成为死循环而不能正常结束。
展开全部
public class Test {
int doSum(int n){
if(n==100){
return n;
}
return n+doSum(n+1);
}
public static void main(String args[]){
System.out.println(new Test().doSum(1));
}
}
int doSum(int n){
if(n==100){
return n;
}
return n+doSum(n+1);
}
public static void main(String args[]){
System.out.println(new Test().doSum(1));
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不能用for循环啊?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询