原题链接
大佬题解
看到N值可能很大,就想用BigInteger或者BigDecimal数据结构,但是这样就不好让这么大的数相除并保留八位小数了
然后看到大佬题解说,其实就算是BigInteger也装不下那么大的数,还得取巧,关键就在于前一项与后一项的比值,F[i]/F[i + 1], 会趋近于黄金分割,而黄金分割是一个固定的数值,所以i值达到一定程度,F[i]/F[i + 1]的前八位小数就会相同,经过实验,发现N大于20时,前八位小数就一样了
import java.util.Scanner;
public class C2311_1
{
public