题目:

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数。

分析

1.求出该数左右对应的两个Fibonacci数
2.得到间隔最小的那个值,然后输出即可

Java代码

    public static void main(String[] args) {Scanner s = new Scanner(System.in);int v = s.nextInt();if(v<4){System.out.println(0);return;}int x = 0;int y = 1;int sum = x + y;while ((x+y)<v){sum = x + y;x = y;y = sum;}sum = x + y;System.out.println(Math.min((sum-v),(v-y)));}

总结

1.如果要用递归,一定要清楚结束条件,如果搞不清怎么设置结束条件,就不要用递归

2017网易校招:Fibonacci数列相关推荐

  1. 2017网易校招真题 合唱团

    合唱团 时间限制:1秒 空间限制:32768K 热度指数:38059 本题知识点: 动态规划 题目描述 有 n 个学生站成一排,每个学生有一个能力值,牛牛想从这 n 个学生中按照顺序选取 k 名学生, ...

  2. 跳石板-2017网易校招

    [编程题] 跳石板 小易来到了一条石板路前,每块石板上从1挨着编号为:1.2.3....... 这条石板路要根据特殊的规则才能前进:对于小易当前所在的编号为K的 石板,小易单次只能往前跳K的一个约数( ...

  3. 2017网易校招真题 地牢逃脱

    地牢逃脱 时间限制:1秒 空间限制:32768K 热度指数:8622 算法知识视频讲解 题目描述 给定一个 n 行 m 列的地牢,其中 '.' 表示可以通行的位置,'X' 表示不可通行的障碍,牛牛从 ...

  4. 2017年网易校招题 输入一个数将其变为斐波那契数(最小步数)

    题目描述 Fibonacci数列是这样定义的: F[0] = 0 F[1] = 1 for each i ≥ 2: F[i] = F[i-1] + F[i-2] 因此,Fibonacci数列就形如:0 ...

  5. 计算Fibonacci数列第n项的第8种方法(数学推导与Python实现)

    感谢山东工商学院学院厉玉蓉老师提供的完美数学推导,我在重写和整理时略加修改,比如变量替换时她喜欢用字母z,而我喜欢用x,哈哈.当然,还有另外几个小地方^_^ 本文从Fibonacci数列第n项的通项公 ...

  6. Fibonacci数列第n项的第7种计算方法:Python列表

    前面已经分享了几种计算Fibonacci数列第n项的方法,详见Python快速计算Fibonacci数列中第n项的方法和三种Fibonacci数列第n项计算方法及其优劣分析,本文分享第7种(过几天分享 ...

  7. 三种Fibonacci数列第n项计算方法及其优劣分析

    感谢国防科技大学刘万伟老师和中国传媒大学胡凤国两位老师提供的思路,文章作者不能超过8个字符,我的名字就写个姓吧,名字不写了^_^.另外,除了本文讨论的三种方法,之前的文章中还讨论了另外几种方法,详见相 ...

  8. 求Fibonacci数列的前20项

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

  9. 【c语言】蓝桥杯入门训练 Fibonacci数列

    [问题描述] Fibonacci数列的递推公式为:Fn=F(n-1)+F(n-2),其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少. [输入格式] 输 ...

  10. 1732 Fibonacci数列 2

    1732 Fibonacci数列 2  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题解 题目描述 Description 在"1250 Fi ...

最新文章

  1. Altium Designer笔记2
  2. 在JAVA中线程到底起到什么作用
  3. react-native侧滑
  4. Spring(一)容器
  5. IOS7新增120*120Icon图标
  6. [译] APT分析报告:09.伊朗APT34更新武器库——SideTwist变体
  7. linux ubuntu fadora,两大主流Linux版本Ubuntu 18.04和Fedora 28的对比
  8. yum如何安装特定版本的gcc_linux下如何升级python
  9. pythonb超分辨成像_深度原理与框架-图像超分辨重构-tensorlayer
  10. win8.1 安装.NET Framework3.5
  11. 天翼网关3.0说明书_天翼网关3.0(tewa-708g)续
  12. redis cluster 分布式锁_Redis的分布式锁的实现原理
  13. TRNSYS与CONTAM3.4耦合过程
  14. 前端项目实战145-React.Fragment
  15. java -g_【JVM】7、深入理解Java G1垃圾收集器
  16. 相对寻址方式与变址寻址方式的区别与联系
  17. windows下php包下载及环境配置
  18. 面向对象的三大基本特性,五大基本原则。
  19. 摄影测量——无人机航线规划软件易飞(附易飞软件下载)
  20. K-Means聚类算法 — 算法原理、质心计算、距离度量、聚类效果评价及优缺点

热门文章

  1. 0501 0503 模块区别_深圳兼容思科光模块市场
  2. K8S---多节点部署---基于单节点(5)
  3. 【ES系列五】——集群搭建(多机集群单机多节点集群)
  4. linux测试上行带宽,linux服务器上传下载带宽测试
  5. 关于人脸识别的最全研究!
  6. 云服务器哪家最好,如何选择云服务器
  7. python 以图搜图百度_基于opencv的图片检索(模仿百度的以图搜图功能)
  8. win10 安装mysql 卡死_win10安装Mysql5.5卡住假死
  9. 计算机英语期末论文格式,计算机英文论文大纲格式 计算机英文论文大纲如何写...
  10. 削峰填谷 matlab,风电与电动汽车协同并网调度环境模型