已知有一个数列:f(0)=1,f(1)=4,f(n+2)=2*f(n+1)+f(n),其中n是大于0的整数。求f(10)
public class Recursive
{
public static int fn(int n)
{
if(n==0)
{
return 1;
}
else if(n==1)
{
return 4;
}
else
{
//方法调用其自身
return 2*fn(n-1)+fn(n-2);
}
}
public static void main(String[] args)
{
//输出f(10)的结果
System.out.println(fn(10));
}
}
**递归是非常有用的。例如希望遍历某个路径下的所有文件,但这个路径下文件夹的深度是未知的,那么就可以使用递归来实现这个需求。系统可以定义一个方法。该方法接受一个文件路径作为参数,该方法可以遍历当前路径下所有文件和文件路径—-该方法再次调用该方法本身来处理该文件下的所有文件路径。