为了账号安全,请及时绑定邮箱和手机立即绑定

输出fibonacci数列的前50项;fibonacci是指:1,1,2,3,5,8,13,21.。。。即第一项和第二项的值为1,从第三项开始,每一项都等于前两项之和。

求解,,,

正在回答

5 回答


class shulie {

public static void main(String[] args) {

for(int n=1;n<=50;n++){

System.out.println(fun(n));

}

}

private static int fun(int n){

if(n==1||n==2){

return 1;

}else{

return fun(n-1)+fun(n-2);

}

}


0 回复 有任何疑惑可以回复我~
public static void main(String[] args) {
		int a = 1, b = 1;
		System.out.print(a + "," + b);

		for (int i = 0; i < 100; i++) {
			if (i == (a + b)) {
				System.out.print("," + i);
				a = b;
				b = i;
			}
		}

	}

如果数字大的话,上面的int都改成long就行

0 回复 有任何疑惑可以回复我~
public class main{
    public static void main(string[] args){
    long a,b,c;
    a=b=1;
    System.out.println("1,1");
    for(i=3;i<=50;i++){
    x=a+b;
    System.out.println(","+x);
    a=b;
    b=c;
    }
    System.out.println();
    }
}


0 回复 有任何疑惑可以回复我~

public class Aaa {

public static void main(String[] args){

int[] fib = new int[50];

fib[0]=fib[1]=1;

for(int i=2;i<50;i++){

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

}

for(int i=0;i<50;i++){

System.out.println(fib[i]);

}

}

}



0 回复 有任何疑惑可以回复我~
#1

qq_七巷少年_0

错了 应该把int改成long
2017-03-09 回复 有任何疑惑可以回复我~
public class Main {

	public static void main(String[] args) {
		long a, b;
		a = 1;
		b = 1;

		System.out.print("1,1");
		for (int i = 3; i <= 50; i++) {
			long x = a + b;
			System.out.print("," + x);
			a = b;
			b = x;
		}
		System.out.println();
	}

}


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165808    人
  • 解答问题       17588    个

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

进入课程

输出fibonacci数列的前50项;fibonacci是指:1,1,2,3,5,8,13,21.。。。即第一项和第二项的值为1,从第三项开始,每一项都等于前两项之和。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信