1 1 2 3 5 8 13 21 34 .....按照这个规律(斐波那契数列),使用程序,求第N个位置的数字是多少?

 1.斐波那契数列实现过程(以下通过变量形式实现)

package com.mm.chen;

public class Test2 {

	public static void main(String[] args) {
		/*3.有如下一列数字

		1  1  2  3  5  8  13  21  34  .....
		按照这个规律,使用程序,求第12个位置的数字是多少*/
		
		System.out.println(fibonacci(12));

	}
	
	public static int fibonacci(int n){
		//斐波那契数列
		//如果输入的位数是1或者2的时候,返回1
		int a = 0, b = 1, c = 1;
		if(n == 1 || n == 2){
			return 1;
		}
		//循环初始 b,c=1;
		//a = b+c
		//依次赋值得出
		for(int i = 2; i < n; i++){
			a = b + c;
			c = b;
			b = a;
		}
		return a;
	}

}

附以下图解:

猜你喜欢

转载自blog.csdn.net/qq_45001053/article/details/118915507