Neste exemplo, você aprenderá a encontrar a soma dos números naturais usando uma função recursiva.
Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação C:
- C Funções definidas pelo usuário
- C Recursão
Os números positivos 1, 2, 3 … são conhecidos como números naturais. O programa abaixo pega um número inteiro positivo do usuário e calcula a soma até o número fornecido.
Visite esta página para encontrar a soma dos números naturais usando um loop.
Soma de números naturais usando recursão
#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; )
Resultado
Insira um número inteiro positivo: 20 Soma = 210
Suponha que o usuário inseriu 20.
Inicialmente, addNumbers()
é chamado de main()
com 20 passado como um argumento.
O número 20 é adicionado ao resultado de addNumbers(19)
.
Na próxima chamada de função de addNumbers()
a addNumbers()
, 19 é passado, o qual é adicionado ao resultado de addNumbers(18)
. Este processo continua até que n seja igual a 0.
Quando n é igual a 0, não há chamada recursiva. Isso retorna a soma de inteiros para a main()
função.