Title: Help
Tipo imagine isto:

     func(5, 5) // chamada a funcao

           5 + func( 5, 4 )  // * Veja a linha de raciocinio abaixo...

           +  5 + func( 5, 3 )

                + 5 + func( 5, 2 )
 
                    +  5 + func( 5, 1 ) +

                            5 // aqui é o resultado e final da recursao, b = 1 e return a ( 5 )

                               = 25 // some todos o valores de a... e pronto 25

Linha de raciocinio: onde 5 é o valor de a, b foi decrementado ( antes era 5 e agora eh 4 ) e eh chamado a mesma funcao... lembrando q o valor de a retido para soma ...

Outra de recursividade:

// é uma repetição parecida com o for... onde a condicao de valor inicial eh o valor passado a funcao e para quando a menor ou igual a 1...

public int recursiva( int a ) {

    System.out.println( " - " + a + " - " );
    if ( a > 1 ) // condição de continuacao
       return recursiva(a - 1);
    else // condicao de parada
       return 1;

 }

Qualquer duvida... pergunte....

Luis Gustavo Giordano wrote:
003601c1c4ad$f3f090a0$[EMAIL PROTECTED]"> href="file://C:\WINDOWS\>
Alguém sabe qual o valor retornado da seguinte função:
 
public int func (int a, int b)
{
    if (b == 1)
        return a;
    else
        return a + func (a, b - 1)
}
 
Assumam valores de a = 1 e b = 2. Se possível, expliquem como vcs conseguiram chegar a alguma solução.

Responder a