Question

You will be exploring the Fibonacci sequence through programming. Complete the following tasks: Research and take...

You will be exploring the Fibonacci sequence through programming. Complete the following tasks:

  1. Research and take note of the recursive formula F(n) that can be used to define the Fibonacci sequence.
  2. Design a simple program, using pseudocode, to implement the recursive formula you found in part (a) to compute numbers in the Fibonacci sequence. Describe in detail how your program implements the recursive formula. You may find it useful to discuss how it through a concrete example such as F(8) = 21.
  3. Determine the number of times your program computes F(1) for each time F(5) is computed.
  4. Discuss any issues you find with your program and what reasoning there may be
0 0
Add a comment Improve this question Transcribed image text
Answer #1

The recursive formula F(n) that can be used to define the Fibonacci sequence.
F(n) = F(n-1) + F(n-2)   when n >= 2
F(n) = 0   when n=0
F(n) = 1   when n=1

Pseudocode
Fibonacci(n):
   if(n == 0) return 0;
   if(n == 1) return 1;
   return Fibonacci(n-1) + Fibonacci(n-2)


calculation F(8)
F(8) = F(7) + F(6)
F(8) = F(6) + F(5) + F(5) + F(4) = F(6) + 2*F(5) + F(4)
F(8) = F(5) + F(4) + 2*F(5) + F(4) = 3*F(5) + 2*F(4)
F(8) = 3*(F(4) + F(3)) + 2*(F(3) + F(2))
F(8) = 3*(F(3) + F(2) + F(3)) + 2*(F(2) + F(1) + F(2))
F(8) = 3*(2*F(3) + F(2)) + 2*(2*F(2) + F(1))
F(8) = 3*(2*(F(2) + F(1)) + F(2)) + 2*(2*(F(1) + F(0)) + F(1))
F(8) = 3*(3*F(2) + 2*F(1)) + 2*(3*F(1) + 2*F(0))
F(8) = 3*(3*(F(1) + F(0)) + 2*F(1)) + 2*(3*F(1) + 2*F(0))
F(8) = (15*F(1) + 9*F(0)) + (6*F(1) + 4*F(0))
F(8) = 15*1 + 9*0 + 6*1 + 4*0
F(8) = 15 + 6 = 21

Number of times F(1) executed for each F(5) execution = 5 times

We can observe that this implementation does a lot of repeated work. For calculating F(5) , F(1) executed 5 times.

Add a comment
Know the answer?
Add Answer to:
You will be exploring the Fibonacci sequence through programming. Complete the following tasks: Research and take...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
  • Below you will find a recursive function that computes a Fibonacci sequence (Links to an external...

    Below you will find a recursive function that computes a Fibonacci sequence (Links to an external site.).   # Python program to display the Fibonacci sequence up to n-th term using recursive functions def recur_fibo(n): """Recursive function to print Fibonacci sequence""" if n <= 1: return n else: return(recur_fibo(n-1) + recur_fibo(n-2)) # Change this value for a different result nterms = 10 # uncomment to take input from the user #nterms = int(input("How many terms? ")) # check if the number...

  • F# ONLY SOMEONE SOLVED IN PYTHON JUST NOW. I NEED F SHARP PROGRAMMING THANKS A more...

    F# ONLY SOMEONE SOLVED IN PYTHON JUST NOW. I NEED F SHARP PROGRAMMING THANKS A more efficient version of the function for computing Tetranacci numbers can be defined by following three steps: Implement a function which takes a list of integers and adds the sum of the top four elements to the head of the list (e.g., in F#, 1::1::1::1::[] should become 4::1::1::1::1::[]). Implement a recursive function which accepts an integer n as input (again, assume n >= 0), and...

  • 1 (15 pts) Implement recursive, memoized, and dynamic programming Fibonacci and study their performances using different...

    1 (15 pts) Implement recursive, memoized, and dynamic programming Fibonacci and study their performances using different problem instans You can choose to look at the perfor- mance by either timing the functions or counting the basic operations (in code) Provide your results below, and submit your code. Also, describe the pros and cons of your choice of performance metric Note: If you decide to use timing, the standard way to time an algorithm is to run the same problem 100...

  • Practice Problem [no points]: You should read and understand Fibonacci algorithm, write a code in a...

    Practice Problem [no points]: You should read and understand Fibonacci algorithm, write a code in a high level language of your choice and in Assembly to find a Fibonacci number and check your result. At the end of this assignment a possible solution to this problem is given both in Python and MIPS assembler. Note that it would have been possible to write the Python differently to achieve the same function. . [20 points] Write and debug a MIPS program...

  • Programming Project #5 – Binary Tree Exercise 19 on page 637 of the text a through...

    Programming Project #5 – Binary Tree Exercise 19 on page 637 of the text a through f Here is the array to build the initial binary tree: int [] data = { 50, 30, 60, 10, 80, 55, 40 }; BUT, make sure the code works with any binary tree created from an array named data In addition to the main .java file, make sure you also create a Node.java and a Tree.java file that contain the code that allows...

  • (20 pts) To understand the value of recursion in a programming language: implement the binary search...

    (20 pts) To understand the value of recursion in a programming language: implement the binary search algorithm first as a recursive function and again using a conditional loop. Your program should create an array of characters holding the letters ‘A’ – ‘Z’ and find the index in the array where the letter ‘K’ is stored. You may use any programming language that supports recursion. (5pts) Define syntax and semantics and give an example. (5pts) Why is it important for a...

  • Your mission in this programming assignment is to create a Python program that will take an...

    Your mission in this programming assignment is to create a Python program that will take an input file, determine if the contents of the file contain email addresses and/or phone numbers, create an output file with any found email addresses and phone numbers, and then create an archive with the output file as its contents.   Tasks Your program is to accomplish the following: ‐ Welcome the user to the program ‐ Prompt for and get an input filename, a .txt...

  • 1. Explain the function/purpose of the following sequence of program statements by expressing the postcondition and...

    1. Explain the function/purpose of the following sequence of program statements by expressing the postcondition and then prove that the program is correct using the axiomatic verification method. Precondition: {x = A and y = B} t=x x=y y=t Postcondition:________________ 2. Prove that the following grammar is ambiguous. <stmt> -> <assign> | <if-stmt> <assign> -> <id> := <expr> <if-stmt> -> if <bool> then <stmt> | if <bool> then <stmt> else <stmt> Modify the grammar above to make it unambiguous: 3....

  • Please complete the following programming with clear explanations. Thanks! Homework 1 – Programming with Java: What...

    Please complete the following programming with clear explanations. Thanks! Homework 1 – Programming with Java: What This Assignment Is About? Classes (methods and attributes) • Objects Arrays of Primitive Values Arrays of Objects Recursion for and if Statements Selection Sort    Use the following Guidelines: Give identifiers semantic meaning and make them easy to read (examples numStudents, grossPay, etc.) Use upper case for constants. • Use title case (first letter is upper case) for classes. Use lower case with uppercase...

  • For this course project, you will use various database management and programming techniques to design and...

    For this course project, you will use various database management and programming techniques to design and develop an online sales and distribution system for a fictitious organization. There are two phases—you will complete the first phase this week and the second phase in W5 Assignment 2. Rationale The focus of the project is to develop your database programming skills. This project will help you get a fair idea of the sales and distribution system in any organization that has a...

ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT
Active Questions
ADVERTISEMENT