题目描述

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数"
示例1

输入

15

输出

2

思路:先找到与给定数字差值最小的左边数字(斐波那契数列中),再与其差值最小的右边数字(斐波那契数列中)相比,计算出最小的步数。

注:步数必须为正值,部分结果需加绝对值。

源代码:

#include<stdio.h>

#include<math.h>
int main()
{
int N;
int a=0,b=1,c;
int min;
scanf("%d",&N);
min = N-a;
while(1)
{
c = a+b;
a = b;
b = c;
if((N-c)<min&&(N-c)>=0)
{
min = N-c;
}
if((N-c)<0)
{
if(fabs(N-c)<min)
{
min = fabs(N-c);
}
break;
}
}
printf("%d\n",min);
return 0;
}

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

  1. 蓝桥杯python组--基础训练---求输入的第n个,斐波那契数

    文章目录 题目 思路1: 结果 思路2: 结果 思路3 结果 思路4 结果 思路5 结果 思路6 结果 题目 求输入的第n个,斐波那契数 斐波那契数:斐波那契数列(Fibonacci sequence ...

  2. 【快乐水题】509. 斐波那契数

    原题: 力扣链接:509. 斐波那契数 题目简述: 斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 .该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和.也就是: F( ...

  3. 计算机精英协会考核题 —— 第三题:斐波那契数

    题目 3.某人说他记住了 1-100000 的所有斐波那契数. 为了考验他,我们随便出一个数 n,让他说出第 n 个斐波那契数. 当然,斐波那契数会很大. 因此, 如果第 n 个斐波那契数不到 6 位 ...

  4. 现要求输入一个整数n,请输出斐波那契数列的第n项

    大家都知道斐波那契数列,现要求输入一个整数n,请输出斐波那契数列的第n项(从0开始,第0项是0,第1项是1). 首先,我们先来了解一下斐波那契数列,斐波那契数列又称之为黄金分割数列,其数列为:0,1, ...

  5. Python递归实现①把嵌套列表压平为一层列表②返回嵌套列表中某元素出现的个数③返回第n个斐波那契数

    一.把嵌套列表压平为一层列表 def flatten(nested_list):'''这是把嵌套列表压平为简单列表并返回的函数:参数 nested_list:一个嵌套列表'''#先定义一个空列表,用于 ...

  6. java从键盘输入数据斐波那契数_从键盘输入一个正整数n,打印出斐波那契数列的前n个元素...

    import java.util.*; public class Test { public static void main(String[] args){ Scanner in = new Sca ...

  7. 2017年网易校招题 末尾0的个数

    题目描述 输入一个正整数n,求n!(即阶乘)末尾有多少个0? 比如: n = 10; n! = 3628800,所以答案为2 输入描述: 输入为一行,n(1 ≤ n ≤ 1000) 输出描述: 输出一 ...

  8. 2017年网易校招题 数字翻转

    题目描述 对于一个整数X,定义操作rev(X)为将X按数位翻转过来,并且去除掉前导0.例如: 如果 X = 123,则rev(X) = 321; 如果 X = 100,则rev(X) = 1. 现在给 ...

  9. 2017年网易校招题 买苹果

    题目描述 小易去附近的商店买苹果,奸诈的商贩使用了捆绑交易,只提供6个每袋和8个每袋的包装(包装不可拆分). 可是小易现在只想购买恰好n个苹果,小易想购买尽量少的袋数方便携带.如果不能购买恰好n个苹果 ...

最新文章

  1. 数据结构:希尔排序(shell sort)
  2. 法媒评马云996:亚洲独有的洗脑我们不懂
  3. 什么是热Key问题,如何解决热key问题
  4. c# 通过字体对话框获取字体名称和字体大小_PS插件神器 :fonTags,超好用的PS字体管理插件(附安装方法)
  5. AttributeError系列之:AttributeError: 'tuple' object has no attribute 'shape'
  6. 十分钟看懂什么是VoLTE【包学包会,否则退款】
  7. mysql dw解决方案_MySQL 的 DW 解决方案(MySQL + Infobright)
  8. Java开发工具可以促进编程!
  9. 【渝粤教育】国家开放大学2018年春季 7392-22FMatlab语言及其应用 参考试题
  10. MSSql使用SQL语句快速查看表对的就说明,及表字段描述及字段类型
  11. VFIO IOMMU简介
  12. mpq算法实现哈希查找
  13. c语言10h,bios 10h中断是什么意思啊?
  14. 【C语言作业】一个数如果恰好等于它的因子之和,这个数就称为完整数。例如6的因子为1、2、3,而6=1+2+3,因此6是完数,编程找出1000之内的所有完整数
  15. 【转】Latex编译报错后中断编译并改正,然后重复出现不明原因报错的解决方法...
  16. OpenStack私有云安装配置虚拟机
  17. Android中检测应用是否安装
  18. 微信php提取,php提取微信账单的有效信息
  19. 【Lesson 6】 add2和弦
  20. VSCode用Run code插件配置python环境(win10)

热门文章

  1. 回溯应用-- 0-1背包问题
  2. POJ 2967 (水题,考察putchar()按位输入)
  3. 数据结构--队列Queue--循环顺序队列
  4. edge linux 下载软件,在Linux上安装edge浏览器
  5. 缺失值处理 - 拉格朗日插值法 - Python代码
  6. 数据离散化 - 等宽等频聚类离散 - Python代码
  7. 巨省显存的重计算技巧在TF、Keras中的正确打开方式
  8. 2018阿里集团中间件Java面试题(4面)
  9. 2019 阿里Java 4轮面试题,含必考题答案参考!
  10. 图谱实战 | 知识图谱构建的一站式平台gBuilder