programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
Sheriffs:
Saloon Keepers:
Bartenders:

# Understanding recursive method. Help!

Ranch Hand
Posts: 37

Strangely, the person who wrote this method was me, and it is working(it's purpose is to return the product of n odd numbers). My problem is, I do not understand how exactly works. What goes after what, how exactly the values are caluclated and multiplied and what happens in the return after n==1.
Sorry if I am asking for too much, but can someone explain this to me in detail?
I will be very grateful.
Werner

Rancher
Posts: 2460
80
• 1
hi Werner,

well, there is not so much to explain. Just write out in ful what happens
when you issue 'multiplyOdds(3)'.

When n = 3 we get
(since 3 != 1):
(2 * 3 - 1) * multiplyOdds(2) = 5 * multiplyOdds(2) =
(since 2 != 1):
5 * (2 * 2 - 1) * multiplyOdds(1) = 5 * 3 * multiplyOdds(1) =
(since n == 1):
5 * 3 * 1
= 15

Greetz,
Piet

Saloon Keeper
Posts: 4065
48
• 2
When confronted with a sticky recursion problem I like to put print statements that give me an indented output. Something like this. This may or may not help you but it's a handy trick.

Output

Ranch Hand
Posts: 934
4
You may check this recently post on recursion