永发信息网

java 斐波那契数列

答案:6  悬赏:80  手机版
解决时间 2021-02-27 22:53
用java写斐波那契数列,要用递归循环!!!
最佳答案
public class Fibonacci{
public static void main(String args[]){
int nums = fibonacci(8);
System.out.println(nums);
}

static int fibonacci(int n){
if(n<=1) return 1;
return fibonacci(n-1)+fibonacci(n-2);
}
}
全部回答
public class Fibonacci{ int fib(int n) { if (n == 0) return 0; else if (n == 1) return 1; else return fib(n-1) + fib(n-2); } public static void main(String[] args){ int[] fi=new int[20]; Fibonacci f = new Fibonacci(); for(int i=0;i<20;i++){ fi[i]=f.fib(i+1); System.out.print(fi[i]+"\t"); } } }
递归函数的定义: 递归函数即自调用函数,在函数体内直接或间接的调用自己,即函数的嵌套是函数本身。 递归方式:递归调用有直接递归和间接递归两种方式。 直接递归:在函数中出现调用函数本身。 下面代码求斐波那契数列第n项,斐波那契数列第一和第二项是1,后面每一项是前两项之和,即1、1、2、3、5、8、13 ...。 public class Test { public static void main(String args[]) { int x1 = 1; int sum = 0; int n = 7; for (int i = 1; i <= n; i++) { x1 = func(i); sum = sum + x1; } System.out.println("sum=" + sum); } public static int func(int x) { if (x > 2) return (func(x - 1) + func(x - 2)); else return 1; } } 间接递归:指函数中调用了其他函数,而该其他函数有调用了本函数。 用间接递归来计算上述斐波那契数列。 程序代码: public class Test { public static void main(String args[]) { int x1 = 1; int sum = 0; int n = 7; for (int i = 1; i <= n; i++) { x1 = func1(i); sum = sum + x1; } System.out.println("sum=" + sum); } public static int func1(int a){ int b; b=func2(a); return b; } public static int func2(int b) { if (b> 2) return (func1(b - 1) + func1(b - 2)); else return 1; } }
class T { public static void main(String[] args) { System.out.println(fibonacci(3)); } static long fibonacci(int n) { if (n == 1 || n == 2) return 1; else return fibonacci(n - 1) + fibonacci(n - 2); } }
public class test{ public static void main(string []args){ test2 t=new test2(); t.math(); } } class test2{ public void math(){ int num1=1,num2=1; int num=num1+num2; system.out.print(" "+num1+" "+num2+" "+num); for(int i=3;i<20;i++){ int num3=num+num2; num2=num; num=num3; system.out.print(" "+num3); if(i%5==0){ system.out.println(); } } } }
public class Fibno { public static void main(String[] args){ fib(10); } static void fib(int x){ long i; long x1=0; long x2=0; long sum; for (i=0; i
-->
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
华为荣耀5全网通4g手机多少钱
一个圆锥体的体积是40立方厘米,比与它等底的
下列哪个语句定义了包含8个元素的单精度数组
控股合并必须是控制被合并方100%的股权吗?
这个叫什么,下面开许多花
请问老年痴呆的老人走失,多久才能报警立案
王者荣耀安卓的点卷能和苹果版的互通吗
细屋冲地址在哪,我要去那里办事
t206次列车有wifi吗?
Diy艺术坊在什么地方啊,我要过去处理事情
爱快软路由能针对单个IP对进行访问限制吗?
买了款海尔649WABV智能冰箱,懒得去调节温度
听说真正的美女才没有腋,毛。。。是这样吗
华盛衣柜门在哪里啊,我有事要去这个地方
红豆薏米水应该加不加糖好?
推荐资讯
磨茹和白菜,豆腐,土豆,粉条能在一起烩吗
DNF求可以在拍卖行买到有附加伤害而且不冲突
西数250G移动硬盘无法识别
2014年6月18日,民政部在北京发布《2013年社
连霍高速公路/G314(路口)在什么地方啊,我要
恒大物业工作怎么样
【十六卫】唐朝贞观年间十六卫军每卫多少人?
中国邮政集团公司梅州市华侨城支局地址有知道
桓台县到临淄区有多远
阴阳师后期茨木童子和大天狗谁更好用 茨木童
左旋肉碱跟P57那个更有效。【我吃过左旋肉碱
别克老君越仪表老显示机盖未关
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?