Skip to content

Latest commit

 

History

History
45 lines (30 loc) · 1.57 KB

File metadata and controls

45 lines (30 loc) · 1.57 KB

Java 程序:使用递归查找自然数之和

原文: https://www.programiz.com/java-programming/examples/sum-natural-numbers-recursion

在此程序中,您将学习使用 Java 递归来查找自然数之和。 这是在递归函数的帮助下完成的。

正数 1、2、3... 称为自然数。 下面的程序从用户处获取一个正整数,然后计算得出给定数字的总和。

您也可以使用循环查找自然数的总和。 但是,您将在此处学习使用递归解决此问题。

示例:使用递归的自然数之和

public class AddNumbers {

    public static void main(String[] args) {
        int number = 20;
        int sum = addNumbers(number);
        System.out.println("Sum = " + sum);
    }

    public static int addNumbers(int num) {
        if (num != 0)
            return num + addNumbers(num - 1);
        else
            return num;
    }
}

运行该程序时,输出为:

Sum = 210

将求和的数字存储在变量number中。

最初,从main()函数调用addNumbers(),并将 20 作为参数传递。

number(20)被添加到addNumbers(19)的结果中。

在从addNumbers()addNumbers()的下一个函数调用中,传递了 19,该值被添加到addNumbers(18)的结果中。 该过程一直持续到num等于 0。

num等于 0 时,没有递归调用,这将整数和返回给main()函数。