Recursion 101
Uncategorized
CAT Studio1 min readjs
public class Launch {
public static int fact(int n){
if(n==0){
return 1;
} else {
return n * fact(n - 1);
}
}
public static int getSum(int n){
if(n==1){
return 1;
}
return n*getSum(n-1);
}
public static long getFibanocii(int n){
if(n==0 || n==1){
return n;
}
return getFibanocii(n-1) + getFibanocii(n-2);
}
public static int pow(int x, int n){
if(n==0){
return 1;
}
return x * pow(x, n-1);
}
public static long fibanocii(int n){
long a = 0;
long b = 1;
for(long i = 2; i <= n; i++){
long c = a + b;
a = b;
b = c;
}
return b;
}
public static void printNto1(int n){
if(n==0){
return;
}
printNto1(n-1);
System.out.println(n);
}
public static int linearHelper(int start,int[] arr,int target){
if(start==arr.length){
return -1;
}
if(arr[start]==target){
return start;
}
return linearHelper(start+1,arr,target);
}
public static int linearSearchRecursion(int[] arr,int target){
return linearHelper(0,arr,target);
}
public static void main(String[] args) {
// long res1 = fibanocii(50);
// System.out.println("Fibanocii Iteration: " + res1);
// long res = getFibanocii(50);
// System.out.println("Fibanocii Recursion: " + res);
// System.out.println("Power : " + pow(2,5));
int [] arr = {1,2,6,7,8,9,0,10};
int idx = linearSearchRecursion(arr,6);
System.out.println(idx);
}
}