File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Beginning Java and the fly likes Recursion Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Recursion" Watch "Recursion" New topic


Danish Shaukat
Ranch Hand

Joined: Nov 16, 1999
Posts: 340
Hi all !
This program calculates the power of a number using recursion.
if i set the initial value of ans(the local variable in the method power)
other than 1 , things get messed up why???
One other thing.
I'm using the following stmt
But even if i use
I get same answer.

But i guess the best approach is to simply return the expresion
return base1*power(base1,power1-1);

Thanks in advance

[ November 03, 2002: Message edited by: Danish Shaukat ]
[ November 03, 2002: Message edited by: Danish Shaukat ]
[ November 03, 2002: Message edited by: Danish Shaukat ]
Ranch Hand

Joined: Nov 22, 2008
Posts: 18944
Recursion can be a powerful tool if left in the hands of someone who understands Machiavellistic principles: divide and conquer. If we apply these nice little principles to your nice little problem, we might notice the following:
the problem is: find pow(x, y) where both x and y are integral numbers. The following simple statements are considered to be true:
- if y < 0 we consider the answer to be 0
- else if y == 0 we consider the answer to be 1
- else if y == 1 the anser will be x
- else we (ab)use some Poor Old Wanderer (pow) to do some calculations for us: z= pow(x, y/2). If y is even, pow(x, y) equals z*z, else (if y is odd), pow(x, y) equals x*z*z.
The notions above allow us to implement the pow(x, y) function:

kind regards
Dirk Schreckmann

Joined: Dec 10, 2001
Posts: 7023
...and you may want to consider that 0 raised to a negative power is undefined (and so perhaps throw an ArithmeticException in that case).

[How To Ask Good Questions] [JavaRanch FAQ Wiki] [JavaRanch Radio]
Ron Newman
Ranch Hand

Joined: Jun 06, 2002
Posts: 1056
Ditto for 0 to the power 0.
As x approaches 0, x^0 approaches 1 but 0^x approaches 0. So 0^0 has to be considered undefined.
[ November 03, 2002: Message edited by: Ron Newman ]

Ron Newman - SCJP 1.2 (100%, 7 August 2002)
I agree. Here's the link:
subject: Recursion
It's not a secret anymore!