`

Fibonacci数列实现

 
阅读更多

          我们知道Fibonacci的定义如下:

          
          结果为:fibonacci: 0 1 1 2 3 5 8 13 21 34 55 89 ....

 

          而编程实现该数列有两种方式:一种是递归实现;一种是非递归实现。而这类问题典型的实现是递归实现。如下所示:

 

         1.递归实现

       

        2.非递归实现:

          方式一:

	public static int fibona(int i) {
		int a = 0;//第i-2个数
		int b = 1;//第i-1个数
		int c = 0;//第i个数
		for(int j=0;j<i;j++){
			c = a+b; //前两数之和
			a = b;   //将i-1赋给i-2;
			b = c;   //将i赋给i-1;
		}
		return c;
	}

       方式二:(使用数组实现)

       

	public static void main(String[] args) {
		int arr[] = new int[10];
		arr[0] = 0;
		arr[1] = 1;
		for (int i = 2; i < arr.length; i++) {
			arr[i] = arr[i - 1] + arr[i - 2];
		}
		System.out.println("斐波那契数列的前10项如下所示:");
		for (int i = 0; i < arr.length; i++) {
			System.out.print(arr[i] + " ");
		}
	}

 

 
 

  • 大小: 6.1 KB
  • 大小: 57.8 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics