Fibonacci 数列与黄金分割(C/C++)
【描述】
Fibonacci数列是非常著名的数列:
F[1]= 1,
F[2]= 1,
对于i > 3,F[i] = F[i − 1] + F[i − 2]
Fibonacci数列有一个特殊的性质,前一项与后一项的比值,F[i]/F[i + 1], 会趋近于黄金分割。
为了验证这一性质,给定正整数N,请你计算F[N]/F[N + 1],并保留8位 小数。
【输入】
一个正整数N。(1 ≤ N ≤ 2000000000)
【输出】
F[N]/F[N + 1]。答案保留8位小数。
【输入样例1】
2
【输出样例1】
0.50000000
解题思路:看到F[i] = F[i − 1] + F[i − 2],我们应该都能想到斐波那契数列,这个我们可以通过递归求解,主要的问题是输入的N过大,我们该如何处理呢?
题目说Fibonacci数列的F[i]/F[i + 1]会趋近于黄金分割,也就是说前一项与后一项的比值,并且结果保留 8 位小数。如果n很大时,他们的比值在这个精度下,会不会是相同的呢?我们测试一下:
通过打印的结果我们可以看到:当n>=20,后面的比值在保留八位小数的精度下,就不会变了。所以说我们只需要计算出判断n在20以内的比值,n>=20的情况,我们可以直接输出0.61803399即可。
源程序:
#include<bits/stdc++.h>
using namespace std;
double num(long long n){if(n==1||n==2) return 1;return num(n-1)+num(n-2);
}
int main(){long long n;cin>>n;if(n<20) {printf("%.8f\n",num(n)/num(n+1)); }else{printf("0.61803399\n");}return 0;
}
Fibonacci 数列与黄金分割(C/C++)相关推荐
- 题目 2311: 蓝桥杯2019年第十届省赛真题-Fibonacci 数列与黄金分割
题目 Fibonacci 数列是非常著名的数列: F[1] = 1,F[2] = 1, 对于 i > 3,F[i] = F[i − 1] + F[i − 2] Fibonacci 数列有一个特殊 ...
- 一文解决斐波那契数列求前n项和;和求第n个数是多少的问题;斐波那契数列(Fibonacci)又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……
题目:斐波那契数列(Fibonacci)又称黄金分割数列,指的是这样一个数列:0.1.1.2.3.5.8.13.21.34.--在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)= 0,F(1) ...
- 斐波那契数列(Fibonacci)(黄金分割)
目录: 斐波那契数列(Fibonacci) 斐波那契数列 与 黄金分割 一.斐波那契数列 斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leona ...
- 斐波那契(fibonacci)数列与黄金分割比以及矩阵形式推导
原文地址:https://blog.csdn.net/lanchunhui/article/details/50569311 (如有侵权请联系删除) 数学上,斐波那契数列以递归的形式进行定义: 注意, ...
- fibonacci 数列及其应用
fibonacci 数列及其延展 fibonacci计算 fibonacci数列是指 0,1,1,2,3,5,8,13,21--这样自然数序列,即从第3项开始满足f(n)=f(n-1)+f(n-2): ...
- python编写递归函数、求斐波那契数列第n项_用Python实现求Fibonacci数列的第n项
1. 背景--Fabonacci数列的介绍(摘自百度百科): 斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacc ...
- 斐波那契数列在计算机的应用,斐波那契(Fibonacci)数列的几种计算机解法
题目:斐波那契数列,又称黄金分割数列(F(n+1)/F(n)的极限是1:1.618,即黄金分割率),指的是这样一个数列:0.1.1.2.3.5.8.13.21.34.--.在数学上,斐波纳契数列以如下 ...
- Fibonacci数列学习笔记
无意中在网上看到Fibonacci数列的文章,就又重新学习了一把. 这里是来在维基百科上的关于Fibonacci数列的介绍: 在数学上,斐波那契数列是以递归的方法来定义: F0 = 0 F1 = 1 ...
- 求Fibonacci数列的前20项
<程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p112 习题4 2.编程求Fibonacci数列的前20项. Fibonacci数列的定义:F0=0, ...
最新文章
- Android Gradle Plugin 源码解析(上)
- linux 多线程聚集写程序,Linux篇二:Makefile写多线程多文件程序-Go语言中文社区...
- 适合初学者对Yaf框架的学习(一)
- 使用blas做矩阵乘法
- 【转】malloc函数实现原理!
- Sales Organization with Fiscal Year
- jrtplib 打包做了哪些事_30岁前就实现财务自由的人,都做了哪些事
- 如何在Linux上提高文本的搜索效率
- Linux目录架构详解
- Zookeeper客户端Curator使用详解
- 怎样考计算机教师资格证书,非师专生怎么考取计算机教师资格证书?
- java画笔覆盖在界面_Java画笔的简单实用方法
- 【python】isinstance可以接收多个类型,hasattr,getattr,setattr
- 厉害了,苹果爸爸承认让旧 iPhone 变慢!
- 驴子圈资讯:携程移动端酒店预订首超PC端
- 这些年,这些ACM大佬-杜瑜皓访谈
- 2、那智机器人时序基板的TBEX1、TBEX2连接
- NB-IoT 的低功耗分析,我们是怎么做的
- 三星识别文字_免费文字识别
- Mac OS X 下安装Tableau Desktop Pro for Mac 10.2.0
热门文章
- 未来一年48项即将大热的技术趋势HTML5在列
- python列表数据排序_Python中,如何将列表中数据排序给列表排序?
- Adguard Home导致bilibili图片视频被屏蔽记录
- 2021年广东工业大学第十五届文远知行杯程序设计竞赛(同步赛)详解
- java中的print println printf 异同
- php程序+打印机,php程序怎么调用打印机
- 九、创建Slave节点
- 11.11真打折:员工集体“骨折装”上阵 奥康火力全开
- Google Chrome 下载网址
- linux c语言 getline,C语言中getline()函数的深入理解