Fibbonaci_ipynb_2_
public class FiboWhile extends Fibo {
public FiboWhile() {
super();
}
public FiboWhile(int nth) {
super(nth);
}
@Override
protected void init() {
super.name = "While Extends";
long limit = this.size;
long a = 0, b = 1;
this.setData(a);
if (limit > 1) {
this.setData(b);
}
int count = 2;
while (count < limit) {
long temp = a + b;
this.setData(temp);
a = b;
b = temp;
count++;
}
}
/*
Tester class method.
*/
static public void main(String[] args) {
FiboWhile fib = new FiboWhile();
fib.print();
}
}
FiboWhile.main(null);
Init method = While Extends
fibonacci Number 8 = 13
fibonacci List = [0, 1, 1, 2, 3, 5, 8, 13]
fibonacci Hashmap = {0=[0], 1=[0, 1], 2=[0, 1, 1], 3=[0, 1, 1, 2], 4=[0, 1, 1, 2, 3], 5=[0, 1, 1, 2, 3, 5], 6=[0, 1, 1, 2, 3, 5, 8], 7=[0, 1, 1, 2, 3, 5, 8, 13]}
fibonacci Sequence 1 = [0]
fibonacci Sequence 2 = [0, 1]
fibonacci Sequence 3 = [0, 1, 1]
fibonacci Sequence 4 = [0, 1, 1, 2]
fibonacci Sequence 5 = [0, 1, 1, 2, 3]
fibonacci Sequence 6 = [0, 1, 1, 2, 3, 5]
fibonacci Sequence 7 = [0, 1, 1, 2, 3, 5, 8]
fibonacci Sequence 8 = [0, 1, 1, 2, 3, 5, 8, 13]
public class FiboRecursive extends Fibo {
public FiboRecursive() {
super();
}
public FiboRecursive(int nth) {
super(nth);
}
@Override
protected void init() {
super.name = "Recursive Extends";
for (int i = 0; i < this.size; i++) {
this.setData(fibonacci(i));
}
}
private long fibonacci(int n) {
if (n <= 1) {
return n;
}
return fibonacci(n - 1) + fibonacci(n - 2);
}
/*
Tester class method.
*/
static public void main(String[] args) {
FiboRecursive fib = new FiboRecursive();
fib.print();
}
}
FiboRecursive.main(null);
Init method = Recursive Extends
fibonacci Number 8 = 13
fibonacci List = [0, 1, 1, 2, 3, 5, 8, 13]
fibonacci Hashmap = {0=[0], 1=[0, 1], 2=[0, 1, 1], 3=[0, 1, 1, 2], 4=[0, 1, 1, 2, 3], 5=[0, 1, 1, 2, 3, 5], 6=[0, 1, 1, 2, 3, 5, 8], 7=[0, 1, 1, 2, 3, 5, 8, 13]}
fibonacci Sequence 1 = [0]
fibonacci Sequence 2 = [0, 1]
fibonacci Sequence 3 = [0, 1, 1]
fibonacci Sequence 4 = [0, 1, 1, 2]
fibonacci Sequence 5 = [0, 1, 1, 2, 3]
fibonacci Sequence 6 = [0, 1, 1, 2, 3, 5]
fibonacci Sequence 7 = [0, 1, 1, 2, 3, 5, 8]
fibonacci Sequence 8 = [0, 1, 1, 2, 3, 5, 8, 13]
Solve Fibonacci using two additional algorithms.
public class FiboDynamic extends Fibo {
public FiboDynamic() {
super();
}
public FiboDynamic(int nth) {
super(nth);
}
@Override
protected void init() {
super.name = "Dynamic Extends";
if (this.size > 0) {
this.setData(0); // First Fibonacci number
}
if (this.size > 1) {
this.setData(1); // Second Fibonacci number
}
long prev = 0, curr = 1;
for (int i = 2; i < this.size; i++) {
long next = prev + curr;
this.setData(next);
prev = curr;
curr = next;
}
}
public static void main(String[] args) {
FiboDynamic fib = new FiboDynamic(10); // Example for 10 numbers
fib.print();
}
}
FiboDynamic.main(null);
Init method = Dynamic Extends
fibonacci Number 10 = 34
fibonacci List = [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
fibonacci Hashmap = {0=[0], 1=[0, 1], 2=[0, 1, 1], 3=[0, 1, 1, 2], 4=[0, 1, 1, 2, 3], 5=[0, 1, 1, 2, 3, 5], 6=[0, 1, 1, 2, 3, 5, 8], 7=[0, 1, 1, 2, 3, 5, 8, 13], 8=[0, 1, 1, 2, 3, 5, 8, 13, 21], 9=[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]}
fibonacci Sequence 1 = [0]
fibonacci Sequence 2 = [0, 1]
fibonacci Sequence 3 = [0, 1, 1]
fibonacci Sequence 4 = [0, 1, 1, 2]
fibonacci Sequence 5 = [0, 1, 1, 2, 3]
fibonacci Sequence 6 = [0, 1, 1, 2, 3, 5]
fibonacci Sequence 7 = [0, 1, 1, 2, 3, 5, 8]
fibonacci Sequence 8 = [0, 1, 1, 2, 3, 5, 8, 13]
fibonacci Sequence 9 = [0, 1, 1, 2, 3, 5, 8, 13, 21]
fibonacci Sequence 10 = [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]