Luthien 0 Denunciar post Postado Setembro 6, 2014 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
Anderson Danilo 43 Denunciar post Postado Setembro 6, 2014 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
Luthien 0 Denunciar post Postado Setembro 6, 2014 Consegui entender shauhsauhs obg :) Compartilhar este post Link para o post Compartilhar em outros sites
guidjos 65 Denunciar post Postado Setembro 8, 2014 É importante ressaltar que toda implementação recursiva precisa de uma condição de parada. No caso do fatorial acima, a condição de parada é (n <= 1). Compartilhar este post Link para o post Compartilhar em outros sites