使用递归求自然数和的 Java 程序

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

要理解此示例,您应该具备以下 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 作为参数。

addNumbers(20) 中,返回了 addNumbers(19) 的结果与 20 的和。

addNumbers(19) 中,返回了 addNumbers(18) 的结果与 19 的和。

依次进行…

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