蓝桥杯2020年真题:斐波那契数列最大公约数

题目

本题总分:15 分

【问题描述】 
斐波那契数列满足 F1 = F2 = 1,从 F3 开始有 Fn = Fn−1 +Fn−2。
请你计算 GCD(F2020,F520),其中 GCD(A,B) 表示 A 和 B 的最大公约数。

【答案提交】
这是一道结果填空题,你只需要算出结果后提交即可。
本题的结果为一个 整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

答案

6765
package competition4;

import java.math.BigInteger;

public class BigNumber
{
    
    
	public static void main(String[] args)
	{
    
    
		BigInteger a=new BigInteger("1");
		BigInteger b=new BigInteger("1");
		BigInteger[] fib=new BigInteger[2030];
		fib[1]=a;
		fib[2]=b;
		for(int x=3;x<fib.length;x++)
		{
    
    
			fib[x]=fib[x-1].add(fib[x-2]);
		}
		a=fib[2020];
		b=fib[520];
		BigInteger temp;
		while(b!=BigInteger.ZERO)
		{
    
    
			temp=a.mod(b);
			a=b;
			b=temp;
		}
		System.out.println(a);
	}
}

猜你喜欢

转载自blog.csdn.net/qq_43416157/article/details/109006159
今日推荐