1.什么是递归:一个方法内部,对自身的调用。


例子1:
public class Digui_Test1 {
public static void main(String[] args) {
System. out.println(f(3));
}
private static int f( int i) {
if(i==1){
return i;
} else{
return i*f(i-1);
}
}
}例子2:
// 求 Fibonacci数列
1 1 2 3 5 8。。。。第40个的值
public class Eg2 {
public static void main(String[] args) {
System. out.println(f(5));
}
private static int f( int i) {
if(i==1||i==2){
return i;
} else{
return f(i-1)+f(i-2);
}
}
}不用递归调用 方法2:
public class Digui_Test1 {
public static void main(String[] args) {
System. out.println(fa(5));
}
public static long fa( int index){
if(index==1||index==2){
return 1;
} else{
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;
}
3739

被折叠的 条评论
为什么被折叠?



