Приклад пошуку суми натуральних чисел за допомогою рекурсивної функції.
Щоб зрозуміти цей приклад, ви повинні знати наступні теми програмування на C ++:
- Функції C ++
- Типи користувацьких функцій у C ++
- C ++ if, if … else та вкладений if … else
- Рекурсія С ++
Позитивні числа 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 Сума = 55
У цій програмі номер, введений користувачем, передається add()
функції.
Припустимо, 10 вводить користувач. Тепер функція передає 10 add()
. Ця функція додає 10 до результату додавання 9 (10 - 1 = 9).
Наступного разу 9 додається до результату додавання 8 (9 - 1 = 8). Це триває, поки число не досягне 0, коли функція поверне 0.
Тепер повертається кожна функція для обчислення кінцевого результату: 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55.