import java.math.BigDecimal;
import java.math.BigInteger;
//黄金年分数
//换成分数,有规律
//double无法表示精度如此长的数 ,需要用到BigInteger
public class B20134 {
public static void main(String [] agru)
{
BigInteger a=BigInteger.ONE;
BigInteger b=BigInteger.ONE;
for(int i=1;i<=500;i++)
{
BigInteger t=b;
b=a.add(b);
a=t;
}
BigDecimal res=new BigDecimal(a,110).divide(new BigDecimal(b,110),BigDecimal.ROUND_HALF_DOWN);
System.out.println(res.toPlainString().substring(0,103));
}
}
通过f提高or循环的i可以提高准确度。
最后输出的103位去掉个位的0和小数点,还剩下101位,看看最后一位的多少,四舍五入一下,变成100位小数,即为答案。
来源:CSDN
作者:panda没有黑眼圈*~*
链接:https://blog.csdn.net/weixin_43677405/article/details/104792051