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
  Don't Understand Recursive Function muzikman 10 5,895 Mar-08-2025, 01:58 PM
Last Post: bterwijn
  Unable to understand the function string.split() Hudjefa 8 2,262 Sep-16-2024, 04:25 AM
Last Post: Pedroski55
  problem in output of a function akbarza 9 2,841 Sep-29-2023, 11:13 AM
Last Post: snippsat
  How to print the output of a defined function bshoushtarian 4 2,216 Sep-08-2022, 01:44 PM
Last Post: deanhystad
  output correction using print() function afefDXCTN 3 13,311 Sep-18-2021, 06:57 PM
Last Post: Sky_Mx
  python prints none in function output chairmanme0wme0w 3 2,950 Jul-07-2021, 05:18 PM
Last Post: deanhystad
  print function output wrong with strings. mposwal 5 4,186 Feb-12-2021, 09:04 AM
Last Post: DPaul
  Output with none, print(x) in function Vidar567 3 3,661 Nov-24-2020, 05:40 PM
Last Post: deanhystad
  How to append to list a function output? rama27 5 8,891 Aug-24-2020, 10:53 AM
Last Post: DeaD_EyE
  Lambda function recursion error DeadlySocks 1 2,769 Apr-13-2020, 05:09 PM
Last Post: deanhystad

Forum Jump:

User Panel Messages

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