Przygotuj aspect przyspieszający wyliczanie liczb Fibonacciego przez podany poniżej naiwny algorytm.
public class Fib {
static int compute(int n) {
if (n == 0) return 0;
else if (n == 1) return 1;
else return compute(n-1)+compute(n-2);
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Test {
static BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
static public int readN() {
int liczba;
while (true) {
System.out.println("Podaj liczbę całkowitą: ");
try {
liczba = new Integer(r.readLine());
return liczba;
} catch (IOException e) {
System.out.println("Błąd we/wy!");
} catch (NumberFormatException e) {
System.out.println("Nie rozpoznano formatu liczby!");
}
}
}
public static void main(String[] args) {
boolean finish = false;
int guess;
while (!finish) {
int liczba = readN();
System.out.printf("Fib(%d)=%d\n", liczba, Fib.compute(liczba));
}
}
}