递归 该怎么用 ??我是初学者 搞不懂??他和方法声明和调用的区别是什么啊??下面是我遇到的难题??
解决方案 »
- 过滤器问题。。求求求
- DAO的小问题
- 求一个spring quartz例子
- 优化下面的JAVA代码
- Spring的bean如何在Tomcat启动时不被初始化,而是等到getBean时才被初始化?
- 开启了代理之后怎么知道代理的是什么类?
- jdk1.4中想用dom4j 怎么办?急急急
- 只安装了j2se_sdk是不是不能编写j2ee程序呀?(请多指教)
- jquery中联动问题!!! 实在是没多少分了
- 我保存一条订单信息(订单明细只有一条),订单信息里有订单明细,结果订单那张表正确的增加一条订单,但是订单明细表却增加了8条明细.这是怎么回事?
- 关于:javax.mail.Transport.connect(Ljava/lang/String;Ljava/lang/String;)V错误
- String中"+"的问题(nu)
{
if(x <= 1)
{
return 1;
}
return x*阶乘(x-1);
}
public static void main(String[]args)
{
System.out.println(阶乘(3));
}递归删除某个目录。。public static void main(String[] args)
{
deleteFile(new File("e:\\"));
}
public static void deleteFile(File file)
{
if(file.isFile())
{
file.delete();
}
else
{
File[] files = file.listFiles();
for(File itemFile:files)
{
deleteFile(itemFile);
}
file.delete();
}
}
一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第30位数是多少,
用递归算法实现
f(0) = 1;
f(1) = 1;
f(n) = f(n-1) + f(n-2);
long f(long n){
if(n < 2L) return 1L;
return f(n-1L) + f(n-2L);
}
举个例子
f(1)=1;
f(n)=f(n-1)+1;当n=5的时候。
f(5)=f(4)+1;
f(4)=f(3)+1;
f(3)=f(2)+1;
f(2)=f(1)+1;因为知道f(1)=1;
所以从下往上就一次计算出了f(5),f(4),f(3),f(2)
整个递归调用的思想就是这样。
你具体在联想到你调用的函数,就懂了。