首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

黄金分割数保留小数点后100位有关问题

2013-07-04 
黄金分割数保留小数点后100位问题昨天刚刚参加了“蓝桥杯”C/C++的预赛,里面有一题是:求解黄金分割数保留小

黄金分割数保留小数点后100位问题
昨天刚刚参加了“蓝桥杯”C/C++的预赛,里面有一题是:求解黄金分割数保留小数点后100位。
黄金分割数保留小数点后100位有关问题
层数越深则越接近黄金分割数 
现要求保留黄金分割数后100位小数!第100位四舍五入,是0也要保留!

问题是如何去求解出那么多的小数?解决问题关键肯定不在于采用何种数据类型,应该采用什么样的算法思想?
求指导! 蓝桥杯,算法
[解决办法]
黄金分割比是0.618
你这个式子第一层的那个“1+”应该是不用的

第一层“1+”去掉之后,这式子简化一下,其实分子跟分母就是,一组斐波那契数列
n=1时 是1/2
n=2时 是2/3
n=3时 是3/5
n=4时 是5/8
n=5时 是8/13

至于算小数点后100位,你模拟手算除法就可以了,每次除出来的那一位商就是小数点后第i位,余数做下一次的被除数

比如
8/13,商0,余8,补0变成80
80/13,商6(即第一位小数),余2,补0变成20
20/13,商1(即第二位小数),余7,补0变成70
70/13,商5(即第三位小数),余5,……

热点排行