For the code listening bellow , please write a detailed pseudo code. Thank you!
ID: 3802592 • Letter: F
Question
For the code listening bellow , please write a detailed pseudo code. Thank you!
import java.util.Scanner;
public class RecursiveFibonacciTimer
{
public static void main (String [] arg)
{
System.out.print("Enter a positive integer: ");
Scanner sc = new Scanner(System.in);
int number = sc.nextInt();
long currentTime = System.currentTimeMillis();
long previousTime;
long elapsedTime= 0;
for (int k = 0; k <= 5; k++)
{
previousTime = currentTime;
System.out.print("The Fibonacci term at position ");
System.out.print((number + k) + " is ");
System.out.println(fib(number + k));
currentTime = System.currentTimeMillis();
elapsedTime= (currentTime - previousTime) / 1000;
System.out.println("Computed in "+ elapsedTime + " seconds. ");
}
}
public static long fib(long n)
{
long fib[] = new long[(int) (n+1)];
fib[0] = 0;
fib[1] = 1;
for(int i=2;i<=(int)n;++i){
fib[i] = fib[i-1] + fib[i-2];
}
return fib[(int)n];
}
}
Explanation / Answer
Fib(n):
declare array fib
fib[0]= fib[1] = 1
for x from 2 to n
fib[x] = fib[x-1] + fib[x-2]
return fib[n]
Next5FibNumberTiming
n = get input form user for starting fib number
currentTime = get system time
for x in (0, 5)
previousTime = currentTime
fib(n+i)
currentTime = get system time
calculate elapsed time and display