java递归实现斐波那契数列
2017-03-27 13:58
441 查看
/**
*create Date:2016-12-23
*modified Date:2016-12-23
*modified by:shark
*Description:斐波那契数列
**/
public class Shulie{
public static long digui(int n,int sum,int before,int before1){
if(n==sum||n<=2){
if(n==1){
System.out.println(1);
return 1;
}
if(n==2){
System.out.println(1);
System.out.println(1);
return 1;
}
else{
System.out.println(before+before1);
return 1;
}
}
else{
if(sum<=2){
before1=1;
before=1;
sum++;
System.out.println(1);
return digui(n,sum,before,before1);
}
else{
int zhongjian=0;
zhongjian=before;
before=before+before1;
before1=zhongjian;
sum++;
System.out.println(before);
return digui(n,sum,before,before1);
}
}
}
//方法
public static void main(String[] args){//入口
digui(9,1,0,0);
}
}
因为暂时还不会再java中设置默认参数,尝试过但报错所以在参数看上去就有点多了。
*create Date:2016-12-23
*modified Date:2016-12-23
*modified by:shark
*Description:斐波那契数列
**/
public class Shulie{
public static long digui(int n,int sum,int before,int before1){
if(n==sum||n<=2){
if(n==1){
System.out.println(1);
return 1;
}
if(n==2){
System.out.println(1);
System.out.println(1);
return 1;
}
else{
System.out.println(before+before1);
return 1;
}
}
else{
if(sum<=2){
before1=1;
before=1;
sum++;
System.out.println(1);
return digui(n,sum,before,before1);
}
else{
int zhongjian=0;
zhongjian=before;
before=before+before1;
before1=zhongjian;
sum++;
System.out.println(before);
return digui(n,sum,before,before1);
}
}
}
//方法
public static void main(String[] args){//入口
digui(9,1,0,0);
}
}
因为暂时还不会再java中设置默认参数,尝试过但报错所以在参数看上去就有点多了。
相关文章推荐
- java递归实现斐波那契数列
- 斐波那契数列-递归-java实现
- 斐波那契数列递归与非递归实现(JAVA语言描述)
- JAVA 递归与非递归斐波那契数列的实现
- OJOJ:斐波那契数列的实现——递归与非递归实现
- 斐波那契数列的递归和非递归实现
- 斐波那契数列的Java实现
- 斐波那契额数列Java实现方法
- 斐波那契数列的递归法、迭代法、数组法Java实现
- 斐波那契数列的递归,迭代(循环),通项公式三种实现
- 斐波那契数列的矩阵分治求法java实现
- 斐波那契数列的矩阵解法(java实现)
- Java实现斐波那契数列
- php递归和迭代实现斐波那契数列
- 斐波那契数列的递归实现和非递归实现
- 递归算法实现斐波那契数列每项值显示(java)
- 非递归实现斐波那契数列———修改版
- 斐波那契数列的3种java程序实现
- JAVA使用循环和递归方法实现斐波拉切数列
- 斐波那契数列的实现(简单递归和动态规划)