Faça uma função recursiva que receba um número inteiro positivo N e imprima todos os números naturais de 0 até N em ordem decrescente.
Passo 1
O enunciado pede uma função recursiva que, dado um inteiro positivo
, imprima todos os números naturais de
até
em ordem decrescente. O conteúdo principal aqui é recursão: precisamos identificar o caso base (para parar a chamada) e o passo recursivo (onde a função se chama de novo com valor menor).
Passo 2
Definimos o caso base da recursão: quando chegarmos em
, imprimimos
e não chamamos a função de novo. Isso evita chamadas infinitas:
if n \(==0\):
print(\(0\))
Passo 3
No passo recursivo, para
, primeiro imprimimos o próprio
e depois chamamos a função com
. Assim garantimos que, a cada chamada, o valor diminui até atingir o caso base:
else:
print(n)
\(imprimir_numeros_decrescente\)(n - \(1\))
Passo 4
Juntando tudo em uma função Python, temos:
def \(imprimir_numeros_decrescente\)(n):
"""
Função recursiva que recebe n >\(=0\) e imprime de n até \(0\) em ordem decrescente.
"""
if n \(==0\):
print(\(0\))
else:
print(n)
\(imprimir_numeros_decrescente\)(n - \(1\))
Por exemplo, ao chamar
\(imprimir_numeros_decrescente\)(\(5\))
o resultado será:\[543210\]
Resposta
def \(imprimir_numeros_decrescente\)(n):
"""
Função recursiva que recebe n >\(=0\) e imprime de n até \(0\) em ordem decrescente.
"""
if n \(==0\):
print(\(0\))
else:
print(n)
\(imprimir_numeros_decrescente\)(n - \(1\))