小单刷题笔记之鲁卡斯队列(浮点数比较)
题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
黄金分割数 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
之前还真的没有做过浮点数比较的题,查漏补缺了hh。浮点数不能直接用“==”“>""<"来比较,需要定义一个极小值,通常1e-6就够了,然后我们用cmath中的fabs去判断两数的差是不是小于那个极小值,小于的
#include <iostream>
#include<vector>
#include<cmath>
using namespace std;
const double mod=0.618034;
const double Eps=1e-6;
int main()
{// 请在此输入您的代码vector<long long> v;v.push_back(1);v.push_back(3);for(int i=2;;i++)
{int n=v[i-1]+v[i-2];v.push_back(n);double ans=v[i-1]*1.00/n*1.00;if(fabs(ans-mod)<Eps) {cout<<v[i-1]<<"/"<<n;break;}
}return 0;
}
话就可以认为是近似相等了。
小单刷题笔记之鲁卡斯队列(浮点数比较)相关推荐
- 小单刷题笔记之迷宫(bfs)
题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可. 下图给出了一个迷宫的平面图,其中标记为 1的为障碍,标记为 0的为可以通行的地方. 010000 000100 00 ...
- 小单刷题笔记之天平称重 (巧用进制)
题目: 用天平称重时,我们希望尽可能少的砝码组合称出尽可能多的重量,如果有无限个砝码,但它们的重量是1,3,9,27..等三的指数幂,神奇的是用它们组合可以称出任意的重量.本题要求实现,用户给出重量, ...
- 小何同学的leetcode刷题笔记 基础篇(01)整数反转
小何同学的leetcode刷题笔记 基础篇(01)整数反转[07] *** [01]数学取余法*** 对数字进行数位操作时,常见的方法便是用取余的方法提取出各位数字,再进行操作 操作(1):对10取余 ...
- 师兄刷题笔记、算法小抄、面试突击版必备资源,帮你走上人生巅峰
前言 最近有很多朋友问我刷题.面试有没有什么好的资源.今天就给大家找了三个棒的开源资源,内容非常硬核,很多人靠着它进了大厂. 不绕弯子,三个分别是谷歌师兄<谷歌大佬的刷题笔记>,东哥< ...
- leetcode刷题java、c++、go语言三合一版本 谷歌师兄的刷题笔记、东哥的算法小抄、 Guide哥的Java面试突击版
不久前火爆 GitHub 的 LeetCode 中文刷题手册,分享给大家,让正在找工作的朋友能够快速找到心仪的offer! <LeetCode Cookbook>目前已经收录了 520 道 ...
- leetcode分类刷题笔记
leetcode分类刷题笔记--基于python3 写在前面 1.做题如果实在想不出时间复杂度比较优的解法,可以先写出暴力解法,尝试在其基础上优化 2.排序.双指针.二分等--经常可以优化时间复杂度 ...
- 赞!Google 资深软件工程师 LeetCode 刷题笔记首次公开
有人说写代码就像我们平时开车,仅凭经验你就可以将车开走:但当有一天,这辆车出问题跑不起来的时候,你不懂汽车的运行机制,你要怎么排除和解决问题?所以拥有扎实的数据结构和算法,才能开好编程这辆车. 作为程 ...
- 《编程能力基础》刷题笔记(41 题)
<编程能力基础>刷题笔记 1. 单调数列 题解:递归.模拟.API 2. 实现 strStr() 题解:API.暴力.滑动窗口 3. 平衡二叉树 题解:迭代 4. 重复的子字符串 题解:模 ...
- LeetCode《编程能力入门》刷题笔记(34 题全)
LeetCode<编程能力入门>刷题笔记 基本数据类型 1. 在区间范围内统计奇数数目 _解法1:暴力迭代 _解法2:数学(找规律) 2. 去掉最低工资和最高工资后的工资平均值 _解法1: ...
- 《剑指 Offer I》刷题笔记 41 ~ 50 题
<剑指 Offer I>刷题笔记 41_50 排序(中等) 41. 最小的k个数# _解法1:排序 API + 数组复制 API 42. 数据流中的中位数 _解法1:暴力 搜索和回溯算法( ...
最新文章
- 使用Cloudera Manager部署oozie
- golang 值得注意的地方(2则)
- oracle 云服务器cpu升级,Oracle 10g RAC 升级(CPU Update)之--升级CRS
- SecureCRT设置和Xshell一样的快速命令集(使用快捷键输入命令和密码)
- Python是一门什么样的语言
- 一文带你探究Sentinel的独特初始化
- 【英语学习】【WOTD】minion 释义/词源/示例
- 项目构建之maven篇:3.m2eclipse使用
- tensorflow c++接口,python训练模型,c++调用
- 做数据分析时注意事项
- Wpf ScrollBar自定义样式
- 全国计算机信息安全技术
- 开源跨平台GUI库Fltk在Deepin Linux下的使用
- 第一次在CSDN上写博客
- 计算机基础知识及键盘熟悉实验报告,微型计算机组成和键盘操作 实验报告
- 假期如何学java_假期学习javaWeb每日笔记
- php身份证识别ORC
- 阿里云服务器SSL不可用
- Ucenter通信失败(终极解决)
- LTE-A载波聚合技术(14)---PHICH