class Main {
public static void main(String[] args) {
System.out.println("Hello World!");
System.out.println( fibNumRecur( 20));
System.out.println(fibNum(20));
// int ans = (int) Math.pow(5,2);
System.out.println(fibNumWhileLoop(5));
}
//How to form the Fibonacci series using recursion ? (Solution)
public static int fibNumRecur(int num){
if(num<0){
throw new IllegalArgumentException("num should be non-negative");
}
if(num == 0){
return 0;
}
if (num ==2 || num ==1){
return 1;
}
return fibNumRecur(num -1) + fibNumRecur(num-2);
}
public static int fibNum(int num){
double a = ((Math.pow((1+ Math.sqrt(5)),num))-(Math.pow((1- Math.sqrt(5)),num)))/(Math.pow(2,num)*Math.sqrt(5));
return (int)a;
}
//In-progress.
public static int fibNumWhileLoop(int num){
int a = 0;
while(a<=num){
System.out.println(a);
a++;
}
return a;
}
}