Crie uma função recursiva que receba dois inteiros positivos k e n e calcule k^n.

Passo 1

Nesse exercício a gente precisa criar uma função recursiva que receba dois inteiros positivos k e n e calcule k^n. O conteúdo envolvido é recursão de funções e a propriedade de potências. Para resolver, vamos definir um caso base e um passo recursivo.

Passo 2

O caso base é a situação mais simples que não faz nova chamada recursiva. Como n é positivo, podemos escolher n = 1. Aí vale k^1 = k, então se n == 1 retornamos k.

Passo 3

O passo recursivo usa a propriedade k^n = k times k^n-1. Logo, para n > 1 a função deve retornar k times f(k, n - 1), onde f(k,n-1) é a chamada recursiva.

Passo 4

Juntando tudo, basta traduzir em código: testamos se n é 1 (caso base) e, caso contrário, chamamos a função de novo com n-1.

Resposta

def power(k, n):
if n == 1:
return k
else:
return k * power(k, n - 1)

Exercícios relacionados