递归例子
public class RecursionTest
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum += i;
}
System.out.println("sum = " + sum);
RecursionTest test = new RecursionTest();
int sum1 = test.getSum(100);
System.out.println("sum1 = " + sum1);
}
public int getSum(int n) {
if (n == 1) {
return 1;
} else {
return n + getSum(n - 1);
}
}
public int getSum1(int n) {
if (n == 1) {
return 1;
} else {
return n * getSum1(n - 1);
}
}
}
public class RecursionTest {
public static void main(String[] args) {
int value = test.f(10);
System.out.println(value);
}
public int f(int n){
if(n == 0){
return 1;
}else if(n == 1){
return 4;
}else{
return 2*f(n-1) + f(n-2);
}
}
public int f1(int n){
if(n == 20){
return 1;
}else if(n == 21){
return 4;
}else{
return 2*f1(n-1) + f1(n-2);
}
}
}
public class Recursion2 {
public static void main(String[] args) {
Recursion2 test = new Recursion2();
int value = test.f(10);
System.out.println(value);
}
public int f(int n) {
if (n == 1 || n == 2) {
return 1;
} else {
return f(n - 1) + f(n - 2);
}
}
}