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 é chamado 2 vezes, mas a não é incrementado
> 
> Luis Gustavo Giordano wrote:
> 
> >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.
> >
> 
> -- 
> "'You guys (at Microsoft) still don't get it,' 
> because it's sort of Java with reliability, productivity and security 
> deleted."
> 
>                                       James Gosling
> 
> 

------------------------------ LISTA SOUJAVA ---------------------------- 
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP 
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Responder a