PROBLEM 5 The implementation of terribleFibonacci is TERRIB

* PROBLEM 5: The implementation of terribleFibonacci is TERRIBLE! Write a more efficient version of fibonacci. Do not change runFibonacciLoop or runFibonacciSomeValues. To make fibonacci run faster, you want it so that each call to fibonacci(n) computes the fibonacci numbers between 0 and n once, notover and over again.

   *

   * Comment: You will want to use a local variable of type \"long\" rather than

   * type \"int\", for the reasons discussed above.

   *

   * Comment: At some point, your fibonacci numbers might become negative.

   * This is normal and expected.

   * http://en.wikipedia.org/wiki/Integer_overflow We discuss this at length

   * in our systems classes.

   *

   * You may not use any \"fields\" to solve this problem (a field is a variable

   * that is declared \"outside\" of the function declaration --- either before

   * or after).

   */

   public static void runFibonacciLoop () {

       for (int N = 0; N < 100; N++)

           StdOut.format (\"fibonacci(%2d)=%d\ \", N, fibonacci (N));

   }

   public static void runFibonacciSomeValues () {

       StdOut.format (\"fibonacci(%2d)=%d\ \", 13, fibonacci (13));

       StdOut.format (\"fibonacci(%2d)=%d\ \", 7, fibonacci (7));

       StdOut.format (\"fibonacci(%2d)=%d\ \", 21, fibonacci (21));

   }

   public static long fibonacci (int n) {

       return 0; // TODO

   }

Solution

Below is the approach with memoization. the implementation is in c.

===========================================

#include<iostream>
using namespace std;
int F[500];
int fib(int n)
{
   if(n<=1)
   {
       return n;
   }
   if(F[n]!= -1)
   {
       return F[n];
   }
   F[n]= fib(n-1)+fib(n-2);
   return F[n];
}
int main()
{
   for(int i=0;i<500;i++)
   {
       F[i]=-1;
   }
   int n;
   cout<<\"Enter number\";
   cin>>n;
   int result=fib(n);
   cout<<result;
}

* PROBLEM 5: The implementation of terribleFibonacci is TERRIBLE! Write a more efficient version of fibonacci. Do not change runFibonacciLoop or runFibonacciSom
* PROBLEM 5: The implementation of terribleFibonacci is TERRIBLE! Write a more efficient version of fibonacci. Do not change runFibonacciLoop or runFibonacciSom

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site