Пример за намиране на сумата от естествени числа с помощта на рекурсивна функция.
За да разберете този пример, трябва да имате познанията по следните теми за програмиране на C ++:
- C ++ функции
- Видове дефинирани от потребителя функции в C ++
- C ++ ако, ако … друго и вложено ако … друго
- 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 Сума = 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.