Fibonacci(斐波那契)数列(一)

 
//fibonacci数列的递归算法
public class Fib_ra
{
	public static int fibonacci(int n)
	{
		if(n>=0)
		   if(n==0||n==1)
		       return n;
		   else
		       return fibonacci(n-2)+fibonacci(n-1);
	    return -1;
	}
	public static void main(String args[])
	{
		
		int m=25,n;
		int fib[]=new int[m];
		for(n=0;n<m;n++)
		fib[n]=fibonacci(n);
		for(n=0;n<fib.length;n++)
		System.out.print(" "+fib[n]);
		System.out.println();
	}
}

//计算斐波那契数列(Fibonacci)的第n个值
public class Fibonacci{
    public static void main(String args[]){
        int n = Integer.parseInt(args[0]);
        int n1 = 1;//第一个数
        int n2 = 1;//第二个数
        int sum = 0;//和
        if(n<=0){
            System.out.println("参数错误!");
            return;
        }
        if(n<=2){
            sum = 1;           
        }else{
            for(int i=3;i<=n;i++){
                sum = n1+n2;
                n1 = n2;
                n2 = sum;
            }
        }
        System.out.println(sum);
    }
}

//计算斐波那契数列(Fibonacci)的第n个值并打印
public class FibonacciPrint{
    public static void main(String args[]){
        int n = Integer.parseInt(args[0]);
        FibonacciPrint t = new FibonacciPrint();
        for(int i=1;i<=n;i++){
            t.print(i);
        }
    }
    public void print(int n){
        int n1 = 1;//第一个数
        int n2 = 1;//第二个数
        int sum = 0;//和
        if(n<=0){
            System.out.println("参数错误!");
            return;
        }
        if(n<=2){
            sum = 1;           
        }else{
            for(int i=3;i<=n;i++){
                sum = n1+n2;
                n1 = n2;
                n2 = sum;
            }
        }
        System.out.println(sum);
    }
}

//输出Fibonacci数列
public class Fib
{
	public static void main(String args[])
	{
		short i=0,j=1;
		do{
			System.out.print(""+i+""+j);
			i=(short)(i+j);
			j=(short)(i+j);
		}while(i>0);
		System.out.println();
	}
}

用一位数组保存Fibonacci序列值
public class Fib_array
{
	public static void main(String args[])
	{
		int n=25,i;
		int fib[]=new int[n];
		fib[0]=0;
		fib[1]=1;
		for(i=2;i<n;i++)
		fib[i]=fib[i-1]+fib[i-2];
		for(i=0;i<fib.length;i++)
		System.out.print(""+fib[i]);
		System.out.println();
	}
}

//用do-while输出Fibonacci数列
public class Fib
{
	public static void main(String args[])
	{
		short i=0,j=1;
		do{
			System.out.print(""+i+""+j);
			i=(short)(i+j);
			j=(short)(i+j);
		}while(i>0);
		System.out.println();
	}
}

//用一位数组保存Fibonacci序列值
public class Fib_array
{
	public static void main(String args[])
	{
		int n=25,i;
		int fib[]=new int[n];
		fib[0]=0;
		fib[1]=1;
		for(i=2;i<n;i++)
		fib[i]=fib[i-1]+fib[i-2];
		for(i=0;i<fib.length;i++)
		System.out.print(""+fib[i]);
		System.out.println();
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值