Crie uma função recursiva que receba um número inteiro positivo Ne calcule o somatório dos números de 1 a N .

Passo 1

Nós temos que criar uma função que receba um inteiro positivo N e retorne o somatório de todos os números de 1 até N usando recursão. Esse exercício trabalha o conceito de recursão em programação, onde uma função chama a si mesma até atingir um caso-base.

Passo 2

Em recursão é fundamental definir: um caso-base (quando a função para de chamar a si mesma) e um caso-recursivo (quando a função chama ela mesma para resolver uma parte menor do problema).
Para este somatório, basta reconhecer que quando N = 1 não precisamos chamar a função de novo: o somatório de 1 até 1 é 1. Esse é o caso-base.

Passo 3

No caso geral (caso-recursivo), o somatório de 1 até N pode ser visto como N mais o somatório de 1 até N−1. Assim, a função retorna N + soma_recursiva(N−1).
Unindo tudo isso, implementamos em Python uma função soma_recursiva que verifica se N == 1 (caso-base) e, senão, retorna N + soma_recursiva(N−1).
Para testar, se chamarmos soma_recursiva(5) teremos 5 + soma_recursiva(4) = 5+4+3+2+1 = 15, confirmando que a lógica está correta.

Resposta

def soma_recursiva(N):
if N == 1:
return 1
else:
return N + soma_recursiva(N - 1)

Exercícios relacionados