• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Recursion

 
Will Myers
Ranch Hand
Posts: 392
Java jQuery Scala
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I was wondering if anyone had a good simple explanation of how to work out what the result is from a recursive method? For example the following produces 24 as the result when you pass in 4... (1 * 2 * 3 * 4 = 24)



but how would you break it down if presented with this sort of question in an interview?

Another example would be


which will return 28 if you pass in 3 and 4 as the args but again how would you work this out manually? Is there a standard formula for breaking these down?
 
fred rosenberger
lowercase baba
Bartender
Posts: 12264
36
Chrome Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
paper and pencil is what I would do. if you pass in 3 and 4, it would return

(3 + 4) * recursion(2,2)

that would return

(3+4) * ( (2+2)* (recursion(1,0) )

that would return

(3 + 4) * ( (2+2) * 1)
 
Ulf Dittmer
Rancher
Posts: 42969
73
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Either that, or just follow the link.
 
Will Myers
Ranch Hand
Posts: 392
Java jQuery Scala
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
thanks Fred!

Nice work Ulf
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic