Comp Sci Questions

1. Feb 8, 2005

Hello all

If we want to write a recursive method that multiplies two positive integers using repeated additions, we know that: $$a\times b = a + (a\times(b-1))$$ Would this be correct:

Code (Text):

// pre: a and b are positive
// post: returning the product of a and b.
public int mult(int a, int b )

a*b = a +(a * (b-1))
if( b ==1)
return(a);
else
return mult(a + a*(b-1)))

Code (Text):

public void hello(int n )
{
System.out.println("hello n = ",n);
if(n > 1)
hello(n-1);
System.out.println("goodbye n = ", n);

How would you find the output when a 3 is passed? I got a bumch of hellos and goodbyes, but I got it wrong

Thanks

2. Feb 8, 2005

are these right?

3. Feb 8, 2005

learningphysics

The above line is unnecessary.

Your second return line here is wrong. You're calling mult which should have two arguments...

4. Feb 8, 2005

learningphysics

I think it should be:
System.out.println("hello n="+n);

Instead of a comma you need a "+".