斐波那契数列怎么用递归实现?

如题所述

方法一for循环

publicclassFeiBoMethod{

定义三个变量方法

publicstaticvoidmain(String[]args){

inta=1,b=1,c=0;

System.out.println("斐波那契数列前20项为:");

System.out.print(a+"\t"+b+"\t");

因为前面还有两个1、1所以i<=18

for(inti=1;i<=18;i++){

c=a+b;

a=b;

b=c;

System.out.print(c+"\t");

if((i+2)%4==0)

System.out.println();

方法2使用数组的方式实现

publicclassFeiBoMethod{

定义数组方法

publicstaticvoidmain(String[]args){

intarr[]=newint[20];

arr[0]=arr[1]=1;

for(inti=2;i<arr.length;i++){

arr[i]=arr[i-1]+arr[i-2];

System.out.println("斐波那契数列的前20项如下所示:");

for(inti=0;i<arr.length;i++){

if(i%4==0)

System.out.println();

System.out.print(arr[i]+"\t");

扩展资料:

递归实现

publicclassFeiBoMethod{

使用递归方法

privatestaticintgetSum(intnum){

if(num==1||num==2)

return1;

else

returngetSum(num-1)+getFibo(num-2);

publicstaticvoidmain(String[]args){

System.out.println("斐波那契数列的前20项为:");

for(inti=1;i<=20;i++){

System.out.print(getSum(i)+"\t");

if(i%4==0)

System.out.println();

温馨提示:答案为网友推荐,仅供参考
相似回答