English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этой программе вы научитесь использовать рекурсию в 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.
Вначале функция addNumbers() вызывается из функции main() с параметром 20.
Число 20 добавляется к результату addNumbers(19).
В следующем вызове функции addNumbers() передается 19, и это значение добавляется к результату addNumbers(18). Этот процесс продолжается до тех пор, пока num не станет равным 0.
Когда num равно 0, не вызывается рекурсия, и сумма возвращается функции main().