Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Luthien

recursão? Potencia

Recommended Posts

O professor passou esse codigo na sala e eu entendi q a recursão é uma função q chama a si mesma e tal, mas nao entendi como a conta acontece... dado um numero x e um expoente n pra calcular a potencia em c, usando recursao eu preciso do caso base, q no caso é quando n for = 0 e vou chamando a função q vai receber como parametro o numero (x) e a potencia (n-1) , até q se chegue ao caso base

 

 

int potencia (int x, int n)
{
    if(n == 0)
        return 1;
    else if(n > 0)
        return x * potencia(x, n-1);// essa parte que nao entendo..
}
o q está acontecendo nessa linha? nao consigo visualizar a potenciação acontecendo, x está sendo multiplicado pela propria função? Como essa função vai me retornar um valor? eu entenderia se fosse x*pow (x,n-1), mas aí nao seria recursao...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

A recursão é apenas o ato de uma função chamar a si mesma.

 

Uma aplicação clássica é o calculo do fatorial

 

 

int factorial(int n)
{
    if (n<=1)
        return(1);
    else
        n=n*factorial(n-1);
    return(n);
}

 

http://www.cprogressivo.net/2013/03/O-que-sao-e-como-usar-funcoes-recursivas-em-linguagem-C.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.