Voorbeeld om de som van natuurlijke getallen te vinden met behulp van een recursieve functie.
Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende C ++ programmeeronderwerpen:
- C ++ Functies
- Typen door de gebruiker gedefinieerde functies in C ++
- C ++ if, if… else en genest if… else
- C ++ recursie
De positieve getallen 1, 2, 3… staan bekend als natuurlijke getallen. Het onderstaande programma neemt een positief geheel getal van de gebruiker en berekent de som tot het opgegeven getal.
U kunt de som van natuurlijke getallen ook met lussen vinden. U leert hier echter om dit probleem op te lossen door middel van recursie
Voorbeeld: bereken de som van natuurlijke getallen met behulp van recursie
#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; )
Uitvoer
Voer een positief geheel getal in: 10 Som = 55
In dit programma wordt het door de gebruiker ingevoerde nummer doorgegeven aan de add()
functie.
Stel dat de gebruiker 10 invoert. Nu wordt 10 doorgegeven aan de add()
functie. Deze functie telt 10 op bij het optelresultaat van 9 (10 - 1 = 9).
De volgende keer wordt 9 opgeteld bij het optelresultaat van 8 (9 - 1 = 8). Dit gaat door totdat het nummer 0 bereikt, wanneer de functie 0 retourneert.
Nu wordt elke functie geretourneerd om het eindresultaat te berekenen: 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55.