试论java语言中的递归问题求解

来源:互联网 发布:计算机算法视频 编辑:程序博客网 时间:2024/05/22 12:21
Recursion is very common in C++.例如,汉诺塔问题,菲波那挈数列求和.N阶乘.
下面给出用java语言求解的N阶乘和菲波那挈数列求和.
public class Nfatoria{
static int recursion(int factor){
if (factor==1)
return 1;
else
return factor*recursion(--factor);//or  return factor*recursion(factor-1);
}
public static void main(String args[])
{
System.out.println(recursion(6));
}
}
运行结果:720
public class FeiboSum{
static int sumPro(int item){
if (item==1 || item==2)
return item;
else
return sumPro(item-1)+sumPro(item-2);
}
public static void main(String args[])
{
System.out.println(sumPro(14));
}
}
运行结果610