【描述】

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++)相关推荐

  1. 题目 2311: 蓝桥杯2019年第十届省赛真题-Fibonacci 数列与黄金分割

    题目 Fibonacci 数列是非常著名的数列: F[1] = 1,F[2] = 1, 对于 i > 3,F[i] = F[i − 1] + F[i − 2] Fibonacci 数列有一个特殊 ...

  2. 一文解决斐波那契数列求前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) ...

  3. 斐波那契数列(Fibonacci)(黄金分割)

    目录: 斐波那契数列(Fibonacci) 斐波那契数列 与 黄金分割 一.斐波那契数列 斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leona ...

  4. 斐波那契(fibonacci)数列与黄金分割比以及矩阵形式推导

    原文地址:https://blog.csdn.net/lanchunhui/article/details/50569311 (如有侵权请联系删除) 数学上,斐波那契数列以递归的形式进行定义: 注意, ...

  5. fibonacci 数列及其应用

    fibonacci 数列及其延展 fibonacci计算 fibonacci数列是指 0,1,1,2,3,5,8,13,21--这样自然数序列,即从第3项开始满足f(n)=f(n-1)+f(n-2): ...

  6. python编写递归函数、求斐波那契数列第n项_用Python实现求Fibonacci数列的第n项

    1. 背景--Fabonacci数列的介绍(摘自百度百科): 斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacc ...

  7. 斐波那契数列在计算机的应用,斐波那契(Fibonacci)数列的几种计算机解法

    题目:斐波那契数列,又称黄金分割数列(F(n+1)/F(n)的极限是1:1.618,即黄金分割率),指的是这样一个数列:0.1.1.2.3.5.8.13.21.34.--.在数学上,斐波纳契数列以如下 ...

  8. Fibonacci数列学习笔记

    无意中在网上看到Fibonacci数列的文章,就又重新学习了一把. 这里是来在维基百科上的关于Fibonacci数列的介绍: 在数学上,斐波那契数列是以递归的方法来定义: F0 = 0 F1 = 1 ...

  9. 求Fibonacci数列的前20项

    <程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p112 习题4 2.编程求Fibonacci数列的前20项. Fibonacci数列的定义:F0=0, ...

最新文章

  1. Android Gradle Plugin 源码解析(上)
  2. linux 多线程聚集写程序,Linux篇二:Makefile写多线程多文件程序-Go语言中文社区...
  3. 适合初学者对Yaf框架的学习(一)
  4. 使用blas做矩阵乘法
  5. 【转】malloc函数实现原理!
  6. Sales Organization with Fiscal Year
  7. jrtplib 打包做了哪些事_30岁前就实现财务自由的人,都做了哪些事
  8. 如何在Linux上提高文本的搜索效率
  9. Linux目录架构详解
  10. Zookeeper客户端Curator使用详解
  11. 怎样考计算机教师资格证书,非师专生怎么考取计算机教师资格证书?
  12. java画笔覆盖在界面_Java画笔的简单实用方法
  13. 【python】isinstance可以接收多个类型,hasattr,getattr,setattr
  14. 厉害了,苹果爸爸承认让旧 iPhone 变慢!
  15. 驴子圈资讯:携程移动端酒店预订首超PC端
  16. 这些年,这些ACM大佬-杜瑜皓访谈
  17. 2、那智机器人时序基板的TBEX1、TBEX2连接
  18. NB-IoT 的低功耗分析,我们是怎么做的
  19. 三星识别文字_免费文字识别
  20. Mac OS X 下安装Tableau Desktop Pro for Mac 10.2.0

热门文章

  1. 未来一年48项即将大热的技术趋势HTML5在列
  2. python列表数据排序_Python中,如何将列表中数据排序给列表排序?
  3. Adguard Home导致bilibili图片视频被屏蔽记录
  4. 2021年广东工业大学第十五届文远知行杯程序设计竞赛(同步赛)详解
  5. java中的print println printf 异同
  6. php程序+打印机,php程序怎么调用打印机
  7. 九、创建Slave节点
  8. 11.11真打折:员工集体“骨折装”上阵 奥康火力全开
  9. Google Chrome 下载网址
  10. linux c语言 getline,C语言中getline()函数的深入理解