using System;
using System.Collections.Generic;
class MainClass {
static void Main() {
Console.WriteLine("Hello World!");
fib = new List<int>();
fib.Add(0);
fib.Add(1);
Console.WriteLine("FibonacciIterative(10) = " + FibonacciIterative(10));
Console.WriteLine("FibonacciRecursive(10) = " + FibonacciRecursive(10));
}
public static List<int> fib;
public static int FibonacciIterative(int n) {
if (n >= fib.Count) {
for (int i = fib.Count; i <= n; i++) {
fib.Add(fib[i-2] + fib[i-1]);
}
}
return fib[n];
// if (n == 0) {
// return 0;
// } else if (n == 1) {
// return 1;
// } else {
// int index = 2;
// int prev2 = 0;
// int prev = 1;
// int current = 0;
// while (index <= n) {
// current = prev2 + prev;
// prev2 = prev;
// prev = current;
// index++;
// }
// return current;
// }
}
public static int FibonacciRecursive(int n) {
if (n == 0) {
return 0;
} else if (n == 1) {
return 1;
} else {
return FibonacciRecursive(n-2) + FibonacciRecursive(n-1);
}
}
}