java黄金连分数_蓝桥杯 | Java B组省赛真题练习——黄金连分数-Go语言中文社区...
标题: 黄金连分数
黄金分割数0.61803... 是个无理数,这个常数十分重要,在许多工程问题中会出现。有时需要把这个数字求得很精确。 对于某些 精密工程,常数的精度很重要。也许你听说过哈勃太空望远镜,它首次升空后就发现了一处人工加工错误,对那样一个庞然大物,
其实只是镜面加工时有比头发丝还细许多倍的一处错误而已,却使它成了“近视眼”!!
言归正传,我们如何求得黄金分割数的尽可能精确的值呢?有许多方法。
比较简单的一种是用连分数:
1
黄金数 = ---------------------
1
1 + -----------------
1
1 + -------------
1
1 + ---------
1 + ...
这个连分数计算的“层数”越多,它的值越接近黄金分割数。
请你利用这一特性,求出黄金分割数的足够精确值,要求四舍五入到小数点后100位。
小数点后3位的值为:0.618
小数点后4位的值为:0.6180
小数点后5位的值为:0.61803
小数点后7位的值为:0.6180340
(注意尾部的0,不能忽略)
你的任务是:写出精确到小数点后100位精度的黄金分割值。
注意:尾数的四舍五入! 尾数是0也要保留!
显然答案是一个小数,其小数点后有100位数字,请通过浏览器直接提交该数字。
注意:不要提交解答过程,或其它辅助说明类的内容。
解题思路:
识别问题等价于斐波那契的n项和n+1项的比值,n要多少才够,怎么处理很大的数和精度要求很高的浮点数。
1.化为求斐波那契相邻两项的比值,到多少项?越多越精确,n/n+1项,n再往上增加,这个比值的小数点后101位是稳定的,也就是不变的。
2.double无法表示100位小数,BigInteger和BigDecimal。
实现代码:
package java_B_2013;
import java.math.BigDecimal;
import java.math.BigInteger;
public class _04_黄金连分数 {
public static void main(String[] args) {
BigInteger a=BigInteger.ONE;
BigInteger b=BigInteger.ONE;
//斐波那契数列的迭代形式
for (int i = 3; i < 500; i++) {
BigInteger t=b;
b=a.add(b);//大整数的加法
a=t;
}
//大浮点数的除法
BigDecimal divide = new BigDecimal(a,110).divide(new BigDecimal(b,110), BigDecimal.ROUND_HALF_DOWN);
//截取字符串
System.out.println(divide.toPlainString().substring(0,103));
}
}
运行结果:
java黄金连分数_蓝桥杯 | Java B组省赛真题练习——黄金连分数-Go语言中文社区...相关推荐
- 【蓝桥杯Web】2022年第十三届蓝桥杯Web大学组国赛真题解析
前言 省赛真题解析见: 2022年第十三届蓝桥杯Web大学组省赛真题解析(完整版) 2022年第十三届蓝桥杯Web大学组省赛真题解析(精华版) 更多蓝桥杯题解请查阅专栏:蓝桥杯 之前写省赛解析时篇幅过 ...
- Java C++ 实现第十二届蓝桥杯 C++ B组 省赛真题(希望能和各位佬能一起讨论算法题:讨论群:99979568)
山水有相逢 来日皆可期 告辞 虽然是C++组的,但是和Java组的差不了两道题,大家都可以看一看 如有错误,还请佬 评论或私信指出(写的稍些急) 等后面在补充补充解题思路,在补一套C++实现(已完成, ...
- 蓝桥杯2017-Java B组省赛真题
前言 本文章只包含题目+答案,没有详细的分析过程(仅为了个人的归纳复盘使用) 题目以及讲解是看B站的视频:https://www.bilibili.com/video/BV1GE411F7Pj?p=4 ...
- 第十一届蓝桥杯python大学组国赛真题
试题 A: 美丽的 2 [问题描述] 小蓝特别喜欢 2,今年是公元 2020 年,他特别高兴. 他很好奇,在公元 1 年到公元 2020 年(包含)中,有多少个年份的数位中包含数字 2? 这道题送分题 ...
- 【蓝桥杯Web】2022年第十三届蓝桥杯Web大学组省赛真题解析(精华版)
- 【蓝桥杯Web】2022年第十三届蓝桥杯Web大学组省赛真题解析(完整版)
- 2021年 第12届 蓝桥杯 第4次模拟赛真题详解及小结【Java版】
蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2021年(第12届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:大部 ...
- 2021年 第12届 蓝桥杯 第3次模拟赛真题详解及小结【Java版】
蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2021年(第12届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:大部 ...
- 2020年 第11届 蓝桥杯 第2次模拟赛真题详解及小结【Java版】
蓝桥杯 Java B组 省赛真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 注意:部分代码及程序 源自 蓝桥杯 官网视频(历年真题解析) 郑未老师. 2013年 第04届 蓝桥杯 ...
- 第十一届蓝桥杯青少组Python竞赛真题
第十一届蓝桥省赛Python组复盘 第十一届蓝桥省赛Python组复盘_哔哩哔哩_bilibili 蓝桥杯青少组Python竞赛真题讲解 蓝桥杯青少组Python竞赛真题讲解_哔哩哔哩_bilibil ...
最新文章
- luogu P3391 【模板】文艺平衡树(FHQ - treap,懒惰标记)
- 供应链攻击已成全球企业的“心腹大患”
- LAMP源码编译安装配置+wordpress
- C语言进阶--Day2
- 搭建IBM z/OS 1.9(ADCD 1.9)
- 如何使用移动硬盘加密
- JVM(一)内存分配
- POJ2352 Stars
- 旋转音乐html,css3可控旋转音乐播放按钮
- mysql版本号字段比较大小_MySQL查询 – 比较版本号
- HTTP代理socks5哪个快
- python rbf神经网络_RBF神经网络是什么?
- 华为手机左侧快捷方式_让华为手机使用更轻松,这些快捷键与手势该知道!
- 台式计算机搜索不到无线信号,win7电脑搜不到无线信号怎么办_win7找不到无线网络怎么解决-win7之家...
- Making Startup Magic
- 【Cisco(思科)路由器vlan配置实例】制作简单的B项目小组VLAN规划
- SaaS 长河下,AfterShip 技术升级的“加减法”
- Java8-使用stream.sorted()对List排序
- 华钜同创:亚马逊运营新品广告运营的策略
- Begin...end
热门文章
- 备战春招:阿里一面,给了几条SQL,问需要执行几次树搜索操作?
- 真正的程序员,从来不会告诉你这些事!
- 开源不止,前进不息:2018 OpenInfra Days China来了!
- mysql 查询auto_increment_MySQL查询数据表的Auto_Increment(自增id)
- redhat 6.5怎么安装mysql5.6_centos 6.5安装mysql5.6
- (企业案例)Nacos Config 进阶使用
- Centos7 Docker 删除容器_入门试炼08
- React简介及基础用法
- 天线巴伦制作和原理_10米段的春天 | 用自制环型天线+改装SDR接收器27MHz采访实录...
- 查一个字段中字符集超过30的列_详细解读MySQL的30条军规