Python Forum
Can't understand the output of this recursion function
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Can't understand the output of this recursion function
#1
def f(n):
    if n < 5:
        return n + 1
    
    return (f(n // 2) ,  f(n // 3) ) 
f(100) is leading to an output of
(((((4, 3), 5), (5, 3)), ((5, 3), (3, 2))), (((5, 3), (3, 2)), ((3, 2), 4)))




I broke down the recursions like this:


f(50), f(33)
f(25), f(11)
f(12), f(3)
f(6), 4 #recursion stops
f(3), 4
4, 4

So I expected an outcome of (4,4)


However, I have no idea why I'm getting an output of

((((4, 3), 5), (5, 3)), ((5, 3), (3, 2))), (((5, 3), (3, 2)), ((3, 2), 4)))


Thank you.
Reply


Messages In This Thread
Can't understand the output of this recursion function - by bigmit37 - Apr-04-2017, 08:52 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  problem in output of a function akbarza 9 1,273 Sep-29-2023, 11:13 AM
Last Post: snippsat
  How to print the output of a defined function bshoushtarian 4 1,341 Sep-08-2022, 01:44 PM
Last Post: deanhystad
  output correction using print() function afefDXCTN 3 11,173 Sep-18-2021, 06:57 PM
Last Post: Sky_Mx
  python prints none in function output chairmanme0wme0w 3 2,262 Jul-07-2021, 05:18 PM
Last Post: deanhystad
  print function output wrong with strings. mposwal 5 3,181 Feb-12-2021, 09:04 AM
Last Post: DPaul
  Don't Understand Recursive Function muzikman 9 3,758 Dec-03-2020, 05:10 PM
Last Post: muzikman
  Output with none, print(x) in function Vidar567 3 2,553 Nov-24-2020, 05:40 PM
Last Post: deanhystad
  How to append to list a function output? rama27 5 6,803 Aug-24-2020, 10:53 AM
Last Post: DeaD_EyE
  Lambda function recursion error DeadlySocks 1 2,091 Apr-13-2020, 05:09 PM
Last Post: deanhystad
  Taking a CSV output and using it for another function Gduffley 1 1,588 Jan-30-2020, 12:13 AM
Last Post: micseydel

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020