MIT 6.00 Intro Computer Science (OCW) OpenStudy (anonymous):

hi, i understand how fibonacci number works but i don't understand the coding part of it. can someone please explain it to me? OpenStudy (anonymous):

Do you mean you need help with how to build the function, or you're looking at the function on a handout and you need help figuring out what it does? OpenStudy (anonymous):

i'm looking at the function but can't figure out what it does OpenStudy (anonymous):

This one? def fib(x): """Return fibonacci of x, where x is a non-negative int""" if x == 0 or x == 1: return 1 else: return fib(x-1) + fib(x-2) OpenStudy (anonymous):

yes OpenStudy (anonymous):

well, the first part is easy. the line: if x == 0 or x == 1: return 1 checks to see if x is 0 or 1 if x isn't 0 or 1, the next line returns fib(x-1) + fib(x-2) fib(x-1) is going to go through the same process. If (x-1) is greater than 1, THAT will also get sent to fib. But eventually fib(x-1) will return an integer. When it does, the program will start to evaluate fib(x-2) the same way. when fib(x-2) returns an integer, the problem becomes simple addition. OpenStudy (anonymous):

when you say "If (x-1) is greater than 1, THAT will also get sent to fib" does that mean the function will go through fib(x-1) then fib((x-1)-1 then fib(((x-1)-1)-1) and so on also when will fib(x-1) return an integer? i thought fib(x-1) will always be an integer OpenStudy (anonymous):

when you say "If (x-1) is greater than 1, THAT will also get sent to fib" does that mean the function will go through fib(x-1) then fib((x-1)-1 then fib(((x-1)-1)-1) and so on Exactly, UNTIL one of those (x-an accumulating number of ones) terms is in the base case, that is, when the line that says if x == 0 or x == 1: return 1 is true, the function will stop calling fib(x-whatever) and will just return 1 also when will fib(x-1) return an integer? i thought fib(x-1) will always be an integer Instead of fib(x-1) think of it as 'the integer that gets returned when fib(x-1) is finished being evaluated' So it is an integer, but it takes some time (the time to evauate fib(x-1)) to figutre out what the integer is. OpenStudy (anonymous):

One way to see this is to consider x = 2. Since x is not 1, the function computes fib(1) + fib(0). But those two values are known to be 1, so the answer is 1+1 = 2. Now consider x = 3. Since x is not 1, the function computes fib(2) + fib(1). fib(2) expands to fib(1) + fib(0), so the answer is 1+1+1 = 3. And so on. OpenStudy (anonymous):

thanks! i think i got so lets say x = 4 fib(4) = fib(3) + fib(2) = [fib(2) + fib(1)] + [fib(1) + fib(0)] =[fib(1) + fib(0) + fib(1)] + [fib(1) + fib(0)] OpenStudy (anonymous):

Exactly. Well done.

Latest Questions celmatesusahh: Part 1: Celebration! You and three friends will be going out to eat at your favorite restaurant! Each of you will order three items of your choice.
4 seconds ago 4 Replies 0 Medals dukedadon: What is the rational number equivalent to 3 point 24 with a bar over 24?
13 minutes ago 5 Replies 3 Medals kinglegend: what is key to a atoms identity?
11 minutes ago 6 Replies 0 Medals Sailor: This is a attempt at a background I made for my computer what do ya think? *Pleas
1 hour ago 17 Replies 2 Medals DreamingWitch: h e l p - What role did ziggurats play in the lives of ordinary citizens? Use examples from the reading passage to help you develop your answer.
2 hours ago 6 Replies 0 Medals DreamingWitch: Any comments/critique for https://pasteboard.co/TW7gFSk8muUw.jpg ? I want some he
1 hour ago 11 Replies 1 Medal DreamingWitch: Does this make sense?: Cause: Smartphones were invented. Effect 1: You no longer needed a Game Boy or even a home console to play games.
2 hours ago 7 Replies 1 Medal KyledaGreat: The total mechanical energy of an object with mass m at height h in a closed system can be written as ME=1/2mv^2+mgh.
2 hours ago 5 Replies 1 Medal KyledaGreat: The total mechanical energy of an object with mass m at height h in a closed system can be written as https://tex.
3 hours ago 0 Replies 0 Medals DreamingWitch: Did Mesopotamian people sacrifice their own people?
2 hours ago 3 Replies 0 Medals