package rozwiazania_zadan.r2.z1.p3_fib;

import java.util.Arrays;
import java.util.Scanner;

public class Fibonacci2 {
	// 0 1 1 2 3 5 8 13 21 34 55
	
	static long fib(int n) {
		long[] f = new long[n+2];
		f[0] = 0;
		f[1] = 1;
		for(int i = 2; i <= n; i++) {
			f[i] = f[i-2] + f[i-1];
		}
		System.out.println("Cała tablica: " + Arrays.toString(f));
		return f[n];
	}

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("Aby zakończyć, wpisz -1");
		while(true) {
			System.out.print("Podaj liczbę: ");
			int liczba = sc.nextInt();
			if(liczba < 0) break;
			
			// pomiar czasu
			long p = System.currentTimeMillis();
			var wynik = fib(liczba);
			long k = System.currentTimeMillis();
			
			System.out.println("F(" + liczba + ") = " + wynik);
			System.out.println("Obliczenie trwało " + (k-p) + " ms");
			System.out.println();
		}

	}

}
