Сумма натуральных чисел через рекурсию в 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.

Число (20) прибавляется к результату addNumbers(19).

В следующем рекурсивном вызове передаётся 19, она прибавляется к результату addNumbers(18), и так далее, пока num не станет равным 0.

Когда num равен 0, рекурсивных вызовов больше нет, и результат возвращается обратно в main().