public class a10{// Fibonacci Folge berechnen und in Array speichern, Array ausgeben

	public static void main(String args[]){
		System.out.println("\nFibonacci-Folge berechnen\n-------------------------");
		do{
			System.out.println(" ");
			int z1=Mylib.ganzeZahlLesen("Bitte die erste  Zahl eingeben");
			int z2=Mylib.ganzeZahlLesen("Bitte die zweite Zahl eingeben");
			int g=Mylib.ganzeZahlLesen("\nWieviel Glieder der Folge sollen berechnet werden?");
			System.out.println(" ");
			Mylib.intArrayAusgeben("Fibonacci-Folge", fibonacciArray(g, z1, z2));
		}
		while(Mylib.jaNein("Weitere Folge berechnen?"));
	}
	
	static int fibonacci(int n, int f1, int f2){
		if(n==0) return 0;
		if(n<2) return f1;
		if(n==2) return f2;
		return fibonacci(n-2,f1,f2)+fibonacci(n-1,f1,f2);
	}

	static int[] fibonacciArray(int n, int f1, int f2){
		int fiboArray [] = new int[n];
		for (int i=0; i<n; i++){
			fiboArray[i]=fibonacci(i, f1, f2);
		}
		return fiboArray;
	}

}