Fibonacci数列(斐波那契数列)
斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从1963年起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。
定义:
斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368…
这个数列从第3项开始,每一项都等于前两项之和。
现在给你一个N,你想让其变为一个Fibonacci数,每一步你可以把当前数字X变为X-1或者X+1,现在给你一个数N求最少需要多少步可以变为Fibonacci数。
我们可以通过先找到距离数N最近的两个Fibonacci数,这两个Fibonacci分别是距离数字N最近的两个数可以起名为R和L,然后通过min(N - L, R - N)找到最小步数。
#include <iostream>
using namespace std;
int main(){
int N, f, L = 0,R = 0,f0 = 0,f1 = 1;
cin >> N;
while(1){
f = f0 + f1;
f0 = f1;
f1 = f;//得出菲波那切数
//找到比N小且距离N最近的数,求出距离
if(f < N)
L = N-f;
else
{
//找到比N大且距离N最近的数,求出距离
R = f - N;
break;
}
}
//取最小距离
cout << min(L,R) ;
return 0;
}
Fibonacci数列(斐波那契数列)相关推荐
- C++large fibonacci大斐波那契数列的实现(附完整源码)
C++large fibonacci大斐波那契数列的实现算法 C++large fibonacci大斐波那契数列的实现算法完整源码(定义,实现,main函数测试) 用于对任意大数执行算术运算的库lar ...
- Python - Python3 编程第一步 Fibonacci series: 斐波纳契数列
Fibonacci series: 斐波纳契数列, 两个元素的总和确定了下一个数,例如:1 1 2 3 5 8 13 21 34 55 Python程序如下: def fibonacci1(n):a, ...
- HDU1568 Fibonacci【斐波拉契数列】
Fibonacci Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- HDU-A Fibonacci sequence斐波那契数列-大数求和
问题及代码: /* *Copyright (c)2014,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:Fibonacci.cpp *作 者:单昕昕 *完成日期 ...
- 第十一章 ALDS1_10_A:Fibonacci Number 斐波那契数列
问题链接 ALDS1_10_A:Fibonacci Number 问题内容 求出斐波那契数列的第n项的值. 思路 递推并记录前n项的值到数组,求第n项的值时用到第n-1项和第n-2项,这样我们先记录开 ...
- 斐波那契数列不用数组_兔子数列——斐波那契数列
相信人们都对斐波那契数列有或多或少的了解,如果没有,那你一定听过黄金分割比或是见过下面这种图片: 斐波那契生活在十三世纪的意大利,原名列奥纳多·皮萨诺(Leonardo Pisano),他出生在意大利 ...
- matlab斐波那契数列画图,斐波拉契数列 斐波那契数列 matlab程序
斐波那契数列数列从第3项开始,每一项都等于前两项之和. 例子:数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,25 ...
- 斐波那契数列编程python_fibonacci数列-斐波那契数列-python编程
未完待续~ 了解fibonacci数列: 斐波纳契数列(Fibonacci Sequence),又称黄金分割数列. 1,1,2,3,5,8,13,21,34,55,89,144,233,377,610 ...
- c语言斐波那契数列_神奇的数列——斐波那契数列
斐波那契数列之美 斐波那契是一位数学家,生于公元1170年,籍贯大概是比萨,卒于1240年后.1202年,他撰写了<珠算原理>(Liber Abaci)一书.他是第一个研究了印度和阿拉伯数 ...
- HDU1250 Hat's Fibonacci 大数斐波那契数列
点击打开链接 Hat's Fibonacci Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/O ...
最新文章
- C#: static关键字的作用
- 国内35所人工智能学院大盘点
- 三星android功能怎么用,三星GALAXY S II升级Android 4.0新功能介绍及使用技巧
- 最高75K,至多可拿16薪,这个岗位成财富密码?
- 领域驱动和MVVM应用于UWP开发的一些思考
- 算法面试:栈实现队列的方案
- java反射 反射构造函数 报 wrong number of arguments 错误
- VC6.0建立新工程的步骤---解决win11使用不了VC6的方法以及自用版本VC6下载
- html5 3d 图片动画制作软件,9款令人惊叹的HTML5 3D动画应用
- 开发3dMax插件的方法和应用
- halcon例程学习笔记(10)---图像灰度共生矩阵cooc_feature_image.hdev
- yum clean all 是什么意思
- 192.168.8.1手机登陆_192.168.8.1登录入口上网设置
- LQA: Time of day is written with a “dot” not a “colon” (13.14 not 13:14)
- 公众号读者突破 10000 啦!啥也别说了,送书!
- 完美云主机购买小技巧分享
- java性能优化总结_35 个 Java 代码性能优化总结(一)
- 设计一个三维向量类 并实现向量的加法 减法以及乘法除法
- 公众平台新增修改文章错别字功能 每篇文章允许被修改一次仅限正文内五个字...
- 软件工程中过程设计的工具