博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[蓝桥杯历届题目] 黄金队列
阅读量:6910 次
发布时间:2019-06-27

本文共 1017 字,大约阅读时间需要 3 分钟。

黄金分割数0.618与美学有重要的关系。舞台上报幕员所站的位置大约就是舞台宽度的0.618处,墙上的画像一般也挂在房间高度的0.618处,甚至股票的波动据说也能找到0.618的影子....

黄金分割数是个无理数,也就是无法表示为两个整数的比值。0.618只是它的近似值,其真值可以通过对5开方减去1再除以2来获得,我们取它的一个较精确的近似值:0.618034
有趣的是,一些简单的数列中也会包含这个无理数,这很令数学家震惊!
1 3 4 7 11 18 29 47 .... 称为“鲁卡斯队列”。它后面的每一个项都是前边两项的和。
如果观察前后两项的比值,即:1/3,3/4,4/7,7/11,11/18 ... 会发现它越来越接近于黄金分割数!
你的任务就是计算出从哪一项开始,这个比值四舍五入后已经达到了与0.618034一致的精度。
请写出该比值。格式是:分子/分母。比如:29/47
答案写在“解答.txt”中,不要写在这里!
参考答案:
1364/2207

 

解题思路:获得队列,模拟手算除法,控制小数点后面的位数,输出以后和0.618034比较。

代码:

#include 
#include
#include
using namespace std;const int maxn=100000;unsigned long long f[maxn];void getf()//获得队列。{ f[1]=1; f[2]=3; for(int i=3;i<=maxn;i++) f[i]=f[i-2]+f[i-1];}int main(){ getf(); for(int i=1;i<=20;i++)//i的范围控制输出数的个数 { unsigned long long x=f[i]; unsigned long long y=f[i+1]; unsigned long long temp; cout<
<<" "<
<

运行:

 

转载于:https://www.cnblogs.com/sr1993/p/3697946.html

你可能感兴趣的文章
jvm内存区域
查看>>
PHP三种数组合并方式区别示例
查看>>
Golang 在 Mac、Linux、Windows 下如何交叉编译
查看>>
Linux Shell编程(5) - 正则表达式
查看>>
Jena ARQ小试牛刀
查看>>
Mac 神兵利器(二) 极简软件清单
查看>>
有赞跨平台长连接组件设计及可插拔改造
查看>>
小会计记账 小程序 走一波
查看>>
vue-router小记
查看>>
python的“=”与C++的区别
查看>>
快速排序就这么简单
查看>>
腾讯公司副总裁曾宇:技术必须产生价值,开源需要携手发展
查看>>
jsonp 解决跨域问题
查看>>
微信协程库libco研究(三):协程的事件管理
查看>>
用nginx搭建简单的文件下载服务器
查看>>
Js/Jquery获取iframe中的元素 在Iframe中获取父窗体的元素方法
查看>>
web开发中的计算机网络知识——网络层
查看>>
Java | Spring Boot Swagger2 集成REST ful API 生成接口文档
查看>>
白话RabbitMQ(四): 建立路由
查看>>
由浅入深laravel教程第3课:玩转数据迁移migration(超详细版)
查看>>