#### Understanding recursive method. Help!

Total Post:149

Points:1043
948  View(s)
Ratings:
Rate this:
This code 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?
`public static int multiplyOdds (int n) {        System.out.println(n);        if(n==1){        return 1;                 }else return  multiplyOdds(n-1) * (n*2-1);                      }`
1. Post:397

Points:3117
##### Re: Understanding recursive method. Help!

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

#### CONTACT INFO

10-B Taskand Marg Near Patrika, Chauraha Civil Lines, Prayagraj, UP, India-211001.
contact@mindstick.com
91-532-2400505

969-G Edgewater Blvd,Suite
793 Foster City-94404, CA (USA)
+1-650-242-0133