蓝桥杯 15省赛 C3 无穷分数(暴力破解)
无穷分数
无穷的分数,有时会趋向于固定的数字。
请计算【图1.jpg】所示的无穷分数,要求四舍五入,精确到小数点后5位,小数位不足的补0。
思路:
第一次做的时候想使用大数类型BigDecimal来精确计算,后面发现运行起来太浪费时间,一直等不到结果
后面看到热心网友的暴力解法,后面想了一会:这只是道小题的时候,我就吐了…
public class 细节_3 {
public static void main(String[] args) {
//可以更改n来试验最后求出的固定值对不对
double n = 100;
//储存每一次计算的值
double sum = n + 2;
//倒着来算每一层的值,一直算到第一层
for (double i = n; i >= 0; i--) {
sum = i + (i + 1) / sum;
}
//格式化字符串,保留五位小数输出
System.out.println(String.format("%.5f", sum));
}
}