xxxxxxxxxx
package com.company.Recursion;
import java.util.Scanner;
public class ExRecursion1 {
public static void main(String[] args) {
foo(3,2);
}
public static int foo(int n, int m){
if (n<=1 || m<=1){
return 2;
} else {
return foo(n-1, m) + foo(n, m-2);
}
}
}
xxxxxxxxxx
package com.company.Recursion;
import java.util.Scanner;
public class ExRecursion {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int value = input.nextInt();
foo(value);
}
public static int foo(int n){
if (n<=1){
return 1;
} else {
return foo(n-1) + foo(n-2);
}
}
}
xxxxxxxxxx
package com.company.Recursion;
public class ExRecursion2 {
public static void main(String[] args) {
foo(3, 2);
}
public static int foo(int n, int m) {
if (n < m) {
return foo(n + 1, m - 2);
} else if (n == m) {
return 2 * foo(n + 2, m - 3) - 3;
} else {
return 2*m+3*n;
}
}
}