java 请举个例子讲讲什么是递归方法吧.
来源:百度知道 编辑:UC知道 时间:2024/06/23 23:36:33
/*编程题:
1.fibonaci数列0,1,1,2,3,5,8,13,21,34,55,设计个类实现下列方法:
getfvalue()计算f(n)的值;
写出Fvalue的实现
*/
public class Fibonaci {
private static long getfvalue(long k){
if(k<=1) return k;
else return getfvalue(k-1)+getfvalue(k-2);
}
private static long[] getfvalueA(long k){
if(k<=1){
return new long[]{k,0};
}
else{
long[] temp=getfvalueA(k-1);
return new long[]{temp[0]+temp[1],temp[0]};
}
}
public static void main(String arg[])
{
long k=20;
long time1=System.currentTimeMillis();
System.out.println(getfvalue(k));
long time2=System.currentTimeMillis();
System.out.println(time2-time1);
time1=System.currentTimeMillis();
long[] temp=getfvalueA(k);
System.out.println(temp[0]);
time2=System.currentTimeMillis();
System.out.println(time2-time1);
}
}
里面2个方法都是递归
递归