En este ejemplo, aprenderá a encontrar la suma de números naturales usando una función recursiva.
Para comprender este ejemplo, debe tener el conocimiento de los siguientes temas de programación en C:
- C Funciones definidas por el usuario
- C recursividad
Los números positivos 1, 2, 3… se conocen como números naturales. El programa siguiente toma un número entero positivo del usuario y calcula la suma hasta el número dado.
Visite esta página para encontrar la suma de números naturales usando un bucle.
Suma de números naturales usando recursividad
#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; )
Salida
Ingrese un número entero positivo: 20 Sum = 210
Suponga que el usuario ingresó 20.
Inicialmente, addNumbers()
se llama desde main()
con 20 pasado como argumento.
El número 20 se suma al resultado de addNumbers(19)
.
En la siguiente llamada de función de addNumbers()
a addNumbers()
, se pasa 19, que se suma al resultado de addNumbers(18)
. Este proceso continúa hasta que n es igual a 0.
Cuando n es igual a 0, no hay llamada recursiva. Esto devuelve la suma de enteros en última instancia a la main()
función.