Пример поиска суммы натуральных чисел с помощью рекурсивной функции.
Чтобы понять этот пример, вы должны знать следующие темы программирования на C ++:
- Функции C ++
- Типы пользовательских функций в C ++
- C ++ if, if… else и Nested if… else
- Рекурсия C ++
Положительные числа 1, 2, 3… известны как натуральные числа. Программа ниже принимает положительное целое число от пользователя и вычисляет сумму до данного числа.
Вы также можете найти сумму натуральных чисел с помощью циклов. Однако вы научитесь решать эту проблему с помощью рекурсии здесь.
Пример: вычисление суммы натуральных чисел с помощью рекурсии
#include using namespace std; int add(int n); int main() ( int n; cout <> n; cout << "Sum = " << add(n); return 0; ) int add(int n) ( if(n != 0) return n + add(n - 1); return 0; )
Вывод
Введите положительное целое число: 10 Sum = 55.
В этой программе номер, введенный пользователем, передается add()
функции.
Допустим, пользователь ввел 10. Теперь в add()
функцию передается 10 . Эта функция добавляет 10 к результату сложения 9 (10 - 1 = 9).
В следующий раз к результату сложения 8 добавляется 9 (9 - 1 = 8). Это продолжается до тех пор, пока число не достигнет 0, когда функция вернет 0.
Теперь каждая функция возвращается для вычисления конечного результата: 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55.