> Retorna 1:> > func é chamado 2 vezes, mas a não é
incrementado
func é chamado duas vezes: na primeira irá retornar a (1) + func(1,1)
func(1,1) retorna 1, entao a primeira chamada retorna 1 +1 = 2
Abraços,
Douglas Fabiano
Drumond de Carvalho
Title: Help
Rapa, confira direito...
- Original Message -
From:
Sven van ´t
Veer
To: [EMAIL PROTECTED]
Sent: Monday, March 11, 2002 11:36
Subject: Re: [java-list]
Recursividade
Retorna 1:func é chamado 2 vezes, mas a não é
incrementadoLuis Gustavo Giordano
O valor retornado é a*b, desde que b>=1.
Para b>=1,
func(a,b)=a+func(a,b-1)=a+a+func(a,b-2)=a+a+...+func(a,1)
como func(a,1)=a,
func(a,b)=a*b.
Para b<1, a função nunca retorna e estoura a pilha.
On Mon, Mar 11, 2002 at 08:36:01AM -0300, Sven van ´t Veer wrote:
> Retorna 1:
>
> func é cha
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
Title: Help
Retorna 1:
func é chamado 2 vezes, mas a não é incrementado
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
Para a = 1 e b = 2 a func(1, 2) irá retornar 2!
A primeira vez em que a função é chamada, ela passa pelo if, b é diferente
de um então ela
deve retornar o valor de a + func(1, 1).
O valor de a é empilhado e é chamada a função novamente, com os valores a =
1 e b = 1.
Como b desta vez é igual a
u pelo menos nao ter te
confundido mais)
- Original Message -
From:
Luis
Gustavo Giordano
To: [EMAIL PROTECTED]
Sent: Tuesday, March 05, 2002 10:26
PM
Subject: [java-list] Recursividade
Alguém sabe qual o valor retornado da seguinte função:
public int func (int a, int b)
> 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
a = 1, b =2
b != 1, entao retorna 1 + func(1,1)
func(1,1) : b ==
Title: Help
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.