フィボナッチの値を指定したインデックスまで印刷しようとしています。たとえば、インデックスが5の場合は0,1,1,2 、3,5。私は、次のことを試してみました:フィボナッチで指定されたインデックスまですべてのインデックス値を返す方法
public class FibPrac5202016
{
static ArrayList <Long> list = new ArrayList<Long>();
public static void main(String [] args) {
Scanner input = new Scanner(System.in);
System.out.println("Enter index number: ");
int integer = input.nextInt();
FibPrac5202016 object = new FibPrac5202016();
System.out.println(object.operation(integer));
System.out.println(list.toString());
}
public static long operation(long n) {
long number =0;
if(n==0)
number= 0;
if(n==1)
number = 1;
try {
if(n < 0)
throw new Exception("Positive Number Required");
}
catch(Exception exc)
{
System.out.println("Error: " + exc.getMessage());
System.exit(0);
}
if(n >1) {
number = operation((n-1))+ operation((n-2));
list.add(number);
}
return number;
}
}
しかし、あなたはそれが再帰だ知っているように、それは私が唯一の指定したインデックスまで、すべてのインデックス値をプリントアウトできるように、私はそれを特定の方法を減らすことができ、すべての再帰的なcalls.Howを印刷するのか?
複雑さについての説明がベストです。 –