标题: 黄金连分数

黄金分割数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语言中文社区...相关推荐

  1. 【蓝桥杯Web】2022年第十三届蓝桥杯Web大学组国赛真题解析

    前言 省赛真题解析见: 2022年第十三届蓝桥杯Web大学组省赛真题解析(完整版) 2022年第十三届蓝桥杯Web大学组省赛真题解析(精华版) 更多蓝桥杯题解请查阅专栏:蓝桥杯 之前写省赛解析时篇幅过 ...

  2. Java C++ 实现第十二届蓝桥杯 C++ B组 省赛真题(希望能和各位佬能一起讨论算法题:讨论群:99979568)

    山水有相逢 来日皆可期 告辞 虽然是C++组的,但是和Java组的差不了两道题,大家都可以看一看 如有错误,还请佬 评论或私信指出(写的稍些急) 等后面在补充补充解题思路,在补一套C++实现(已完成, ...

  3. 蓝桥杯2017-Java B组省赛真题

    前言 本文章只包含题目+答案,没有详细的分析过程(仅为了个人的归纳复盘使用) 题目以及讲解是看B站的视频:https://www.bilibili.com/video/BV1GE411F7Pj?p=4 ...

  4. 第十一届蓝桥杯python大学组国赛真题

    试题 A: 美丽的 2 [问题描述] 小蓝特别喜欢 2,今年是公元 2020 年,他特别高兴. 他很好奇,在公元 1 年到公元 2020 年(包含)中,有多少个年份的数位中包含数字 2? 这道题送分题 ...

  5. 【蓝桥杯Web】2022年第十三届蓝桥杯Web大学组省赛真题解析(精华版)

  6. 【蓝桥杯Web】2022年第十三届蓝桥杯Web大学组省赛真题解析(完整版)

  7. 2021年 第12届 蓝桥杯 第4次模拟赛真题详解及小结【Java版】

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2021年(第12届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:大部 ...

  8. 2021年 第12届 蓝桥杯 第3次模拟赛真题详解及小结【Java版】

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2021年(第12届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:大部 ...

  9. 2020年 第11届 蓝桥杯 第2次模拟赛真题详解及小结【Java版】

    蓝桥杯 Java B组 省赛真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 注意:部分代码及程序 源自 蓝桥杯 官网视频(历年真题解析) 郑未老师. 2013年 第04届 蓝桥杯 ...

  10. 第十一届蓝桥杯青少组Python竞赛真题

    第十一届蓝桥省赛Python组复盘 第十一届蓝桥省赛Python组复盘_哔哩哔哩_bilibili 蓝桥杯青少组Python竞赛真题讲解 蓝桥杯青少组Python竞赛真题讲解_哔哩哔哩_bilibil ...

最新文章

  1. luogu P3391 【模板】文艺平衡树(FHQ - treap,懒惰标记)
  2. 供应链攻击已成全球企业的“心腹大患”
  3. LAMP源码编译安装配置+wordpress
  4. C语言进阶--Day2
  5. 搭建IBM z/OS 1.9(ADCD 1.9)
  6. 如何使用移动硬盘加密
  7. JVM(一)内存分配
  8. POJ2352 Stars
  9. 旋转音乐html,css3可控旋转音乐播放按钮
  10. mysql版本号字段比较大小_MySQL查询 – 比较版本号
  11. HTTP代理socks5哪个快
  12. python rbf神经网络_RBF神经网络是什么?
  13. 华为手机左侧快捷方式_让华为手机使用更轻松,这些快捷键与手势该知道!
  14. 台式计算机搜索不到无线信号,win7电脑搜不到无线信号怎么办_win7找不到无线网络怎么解决-win7之家...
  15. Making Startup Magic
  16. 【Cisco(思科)路由器vlan配置实例】制作简单的B项目小组VLAN规划
  17. SaaS 长河下,AfterShip 技术升级的“加减法”
  18. Java8-使用stream.sorted()对List排序
  19. 华钜同创:亚马逊运营新品广告运营的策略
  20. Begin...end

热门文章

  1. 备战春招:阿里一面,给了几条SQL,问需要执行几次树搜索操作?
  2. 真正的程序员,从来不会告诉你这些事!
  3. 开源不止,前进不息:2018 OpenInfra Days China来了!
  4. mysql 查询auto_increment_MySQL查询数据表的Auto_Increment(自增id)
  5. redhat 6.5怎么安装mysql5.6_centos 6.5安装mysql5.6
  6. (企业案例)Nacos Config 进阶使用
  7. Centos7 Docker 删除容器_入门试炼08
  8. React简介及基础用法
  9. 天线巴伦制作和原理_10米段的春天 | 用自制环型天线+改装SDR接收器27MHz采访实录...
  10. 查一个字段中字符集超过30的列_详细解读MySQL的30条军规