* PROBLEM 4: Run runTerribleLoop for one hour. You can stop the program using th
ID: 3781950 • Letter: #
Question
* 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);
}
Explanation / Answer
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;
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.