PROBLEM 4 Run runTerribleLoop for one hour You can stop the
* PROBLEM 4: Run runTerribleLoop for one hour. You can stop the program using the red \"stop\" square in eclipse. Fill in the OUTPUT line below with the
numbers you saw LAST --- edit the line, replacing the two ... with what you saw:
*
* OUTPUT: terribleFibonacci(...)=... // TODO
*
* Comment: the code uses \"long\" variables, which are like \"int\", but
* bigger. It\'s because fibonacci numbers get really big really fast.
*/
public static void runTerribleLoop () {
for (int N = 0; N < 100; N++)
StdOut.format (\"terribleFibonacci(%2d)=%d\ \", N, terribleFibonacci (N));
}
public static void runTerribleSomeValues () {
StdOut.format (\"terribleFibonacci(%2d)=%d\ \", 13, terribleFibonacci (13));
StdOut.format (\"terribleFibonacci(%2d)=%d\ \", 7, terribleFibonacci (7));
StdOut.format (\"terribleFibonacci(%2d)=%d\ \", 21, terribleFibonacci (21));
}
public static long terribleFibonacci (int n) {
if (n <= 1) return n;
return terribleFibonacci (n - 1) + terribleFibonacci (n - 2);
}
Solution
I think you are looking for Fibonacci program, as you have mentioned it as
TODO in the question.
Please find the Fibonacci program as below.
public static long terribleFibonacci(long n){
// declare 2 numbers to hold the results.
// n1 and n2 hold initial values i.e. 0 and 1.
long n1=0;
long n2=1;
long n3;
for(int i=2;i<n;++i)//loop starts from 2 because 0 and 1 are already printed
{
// Sum the two numbers and store in n3.
n3=n1+n2;
// Move to get the next number to add.
n1=n2;
n2=n3;
}
return n;
}

