开发者社区> 问答> 正文

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

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

展开
收起
知与谁同 2018-07-18 15:58:07 2982 0
4 条回答
写回答
取消 提交回答
  • public class Sum { static int dg(int i) { int sum; if (i == 1) return 1; else sum = i + dg(i - 1); return sum; } public static void main(String[] args) { System.out.println(dg(100)); } }
    2019-07-17 22:54:24
    赞同 展开评论 打赏
  • 不能用for循环啊。
    2019-07-17 22:54:24
    赞同 展开评论 打赏
  • 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));
    }
    }
    2019-07-17 22:54:24
    赞同 展开评论 打赏
  • 云栖社区聚能聊、问答管理员~发福利、搞怪,八卦我来,论技术、发话题、写博客你上!
    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;              /*返回结果*/
    }
    }

      

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

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

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

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

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

    2019-07-17 22:54:24
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
数据+算法定义新世界 立即下载
袋鼠云基于实时计算的反黄牛算法 立即下载
Alink:基于Apache Flink的算法平台 立即下载