//求5的阶乘
public class test {
public static void main(String[] args) {
System.out.println(method(4));
}
public static int method(int n) {
if (n==1) return 1;
else return n*method(n-1);
}
}
输出:24
//利用递归求Fibonacci数列:1,1,2,3,,5,8……第40个数的值。数列满足递推公式:
//F1=1,F2=1,……,Fn=Fn-1 + Fn-2(n>2)
public class test {
public static void main(String[] args) {
System.out.println(method(4));
}
public static int method(int n) {
if (n==1||n==2) return 1;
else return method(n-1)+method(n-2);
}
}
输出: 3
非递归调用
public class Fab {
public static void main(String[] args) {
System.out.println(f(-9));
}
public static long f(int index) {
if(index < 1) {
System.out.println("invalid parameter!");
return -1;
}
if(index == 1 || index == 2) {
return 1;
}
long f1 = 1L;
long f2 = 1L;
long f = 0;
for(int i=0; i<index-2; i++) {
f = f1 + f2;
f1 = f2;
f2 = f;
}
return f;
}
}
输出:
102334155
输入-9时输出:
invalid parameter
-1