用递归算法求1~100的和,用java写。

如题所述

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;              /*返回结果*/
}
}

  

  递归是计算机科学的一个重要概念,递归的方法是程序设计中有效的方法,采用递归编写。

  递归能使程序变得简洁和清晰。

  每次调用在规模上都有所缩小(通常是减半);

  相邻两次重复之间有紧密的联系,前一次要为后一次做准备(通常前一次的输出就作为后一次的输入);

  在问题的规模极小时必须用直接给出解答而不再进行递归调用,因而每次递归调用都是有条件的(以规模未达到直接解答的大小为条件),无条件递归调用将会成为死循环而不能正常结束。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-04
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));
}
}本回答被提问者采纳
第2个回答  2012-04-08
不能用for循环啊?
相似回答