In questo esempio, imparerai a trovare la somma dei numeri naturali usando una funzione ricorsiva.
Per comprendere questo esempio, è necessario conoscere i seguenti argomenti di programmazione in C:
- C Funzioni definite dall'utente
- Ricorsione C.
I numeri positivi 1, 2, 3 … sono noti come numeri naturali. Il programma seguente prende un numero intero positivo dall'utente e calcola la somma fino al numero dato.
Visita questa pagina per trovare la somma dei numeri naturali utilizzando un ciclo.
Somma di numeri naturali utilizzando la ricorsione
#include int addNumbers(int n); int main() ( int num; printf("Enter a positive integer: "); scanf("%d", &num); printf("Sum = %d", addNumbers(num)); return 0; ) int addNumbers(int n) ( if (n != 0) return n + addNumbers(n - 1); else return n; )
Produzione
Immettere un numero intero positivo: 20 Sum = 210
Supponiamo che l'utente abbia inserito 20.
Inizialmente, addNumbers()
viene chiamato da main()
con 20 passato come argomento.
Il numero 20 viene aggiunto al risultato di addNumbers(19)
.
Nella successiva chiamata di funzione da addNumbers()
a addNumbers()
, viene passato 19 che viene aggiunto al risultato di addNumbers(18)
. Questo processo continua finché n è uguale a 0.
Quando n è uguale a 0, non vi è alcuna chiamata ricorsiva. Ciò restituisce la somma degli interi alla main()
funzione.