编程题——Fibonacci数列


题目描述:
Fibonacci数列是这样定义的:
F[0] = 0
F[1] = 1
for each i ≥ 2: F[i] = F[i-1] + F[i-2]
因此,Fibonacci数列就形如:0, 1, 1, 2, 3, 5, 8, 13, …,在Fibonacci数列中的数我们称为Fibonacci数。给你一个N,你想让其变为一个Fibonacci数,每一步你可以把当前数字X变为X-1或者X+1,现在给你一个数N求最少需要多少步可以变为Fibonacci数。
输入描述:
输入为一个正整数N(1 ≤ N ≤ 1,000,000)
输出描述:
输出一个最小的步数变为Fibonacci数"

示例:
输入
15
输出
2


程序代码如下:



#include <iostream>
#include <algorithm>
using namespace std;/*直接取离数字N最近的两个数字(一左一右),计算距离然后取较小值即可*从头向后遍历斐波那契序列*不断更新斐波那契数,取left=N-fib,直到fib>=N时取right=fib-N*取left和right的较小值*/
int main()
{int N, left, right, fib, f0 = 0, f1 = 1;cin >> N;while (1){fib = f0 + f1;f0 = f1;f1 = fib;if (fib < N)left = N - fib;else{right = fib - N;break;}}cout << min(left, right) << endl;return 0;
}

程序运行结果如下:


编程题——Fibonacci数列相关推荐

  1. C语言程序设计——递归函数 ,用递归方法编程计算Fibonacci数列的前N项。其中fib(0)=0,fib(1)=1,fib(n)=fib(n-1)+fib(n-2)。

    用递归方法编程计算Fibonacci数列的前N项.其中fib(0)=0,fib(1)=1,fib(n)=fib(n-1)+fib(n-2). **输入格式要求:"%d" 提示信息: ...

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

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

  3. [编程题] 翻转数列--附详细分析思路

    今天逛博客看到这样一道题 翻转数列 小Q定义了一种数列称为翻转数列: 给定整数n和m, 满足n能被2m整除.对于一串连续递增整数数列1, 2, 3, 4..., 每隔m个符号翻转一次, 最初符号为'- ...

  4. c++编程题 求数列的和

    最近心好累,行为识别模型明明训练的好好的,收敛也正常,Avg loss也很小,就是测试效果不好(接近没效果)!深度学习之路真是道阻且长啊,求求了-- 题目描述 数列的第一项为n,以后各项为前一项的平方 ...

  5. 【牛客网】网易2017内推笔试编程题合集(二)

    1.[*][编程题] 混合颜料 你就是一个画家!你现在想绘制一幅画,但是你现在没有足够颜色的颜料.为了让问题简单,我们用正整数表示不同颜色的颜料.你知道这幅画需要的n种颜色的颜料,你现在可以去商店购买 ...

  6. C语言——球体体积判断素数用递归计算Fibonacci数列

    1.编写求圆球体体积的函数(体积V=4/3*π*R3),在主函数里输入球体半径R(使用Scanf()函数通过键盘输入)并调用该函数显示当R=3时球体体积. #include<stdio.h> ...

  7. matlab求斐波那契数列第n项的值,求fibonacci数列第n项的值. 1 1 2 3 5 8....n ?

    [C语言]用递归算法编写一个程序求Fibonacci数列的第n项值 #includeunsignedintFibonacci(intn);intmain(void){inti;for(i=1;i vb ...

  8. 求Fibonacci数列的前20项

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

  9. 网易2018校园招聘编程题真题集合

    1/8 [编程题]魔法币 #include<bits/stdc++.h> using namespace std; #define clr(a) memset(a, 0, sizeof(a ...

最新文章

  1. word 数组 转 指针_Word之VBA丨文档中的图片怎样批量加边框?
  2. 用掘金-Markdown 官方语法总结大全
  3. Windows核心编程 第六章 线程基础知识 (下)
  4. decltype 遇到计算结果为左值的表达式会得到引用类型
  5. java安全编码指南之:字符串和编码
  6. object detection训练自己数据
  7. 【C语言】shape of you
  8. Toast 使用方法大全
  9. 英文操作系统(chcp:437)让Console输出UTF-8
  10. 中小微企业公共信用数据的风险评估
  11. 大数据分析的重要性体现在哪里
  12. 1.Yii2 -- Controller, Request, Response, Cookie, Session
  13. fastdfs+nginx make时报错fatal error:fdfs_define.h: 没有那个文件或目录
  14. 使用mysql 函数 IFNULL 解决某些字段为null
  15. 团队管理(一)-会议纪要的高效记录和执行
  16. Mars XLog日志模块集成
  17. java mysql 分区表_mysql 分区有实用价值吗?
  18. Track'em Down
  19. js关闭浏览器当前页(iframe)
  20. cmd命令创建文件文件夹

热门文章

  1. C语言获取norflash大小,NOR Flash 编程
  2. input框的输入事件
  3. 每日一道 LeetCode (16):求 x 的平方根
  4. 可以实现内网穿透的几款工具
  5. Lattice Mico8在LMS上中断错误问题
  6. 【语义分割】一文概览主要语义分割网络,FCN、UNet、SegNet、DeepLab
  7. 我以过来人的身份告诉你手工测试人员如何转测试开发?
  8. 部分HTTPS网站无法访问的可能原因
  9. Cubase Pro 10.5.0 PC 音乐制作宿主软件便携版下载
  10. VLAN 、PVLAN