题目
思路:学会Java的大数
代码:
import java.math.BigInteger;
public class 十一届斐波那契数列最大公约数 {
public static void main(String[] args) {
BigInteger[] a=new BigInteger[2222];
a[0]=BigInteger.ZERO;
a[1]=BigInteger.ONE;
a[2]=BigInteger.ONE;
for (int i = 3; i <= 2020; i++) {
a[i]=a[i-1].add(a[i-2]);
}
BigInteger n=a[520];
BigInteger m=a[2020];
// System.out.println(a[520]);
// System.out.println(a[2020]);
System.out.println(m.gcd(n));
}
private static BigInteger gcd(BigInteger a,BigInteger b) {
if(b.equals(0)) return a;
else
return gcd(b,a.mod(b));
}
}