Fibonacci数列最小步数

1.题目:


2.解析:

让a,b,c回滚构造斐波那契数列 :a=b, b=c, c=a+b;

输入的数 n小于c,在b,c之间,只要 n+1 或者 n-1(贪心思想: n只加一或者只减一

最后再求n-b,c-n的最小值,获得最小步数

代码:

java 复制代码
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int a = 0, b = 1,c = 1;
        int ret = 0;
        while(n > c){
            a=b;
            b=c;
            c=a+b;
            if(n > b && n < c) {
                ret = Math.min(n-b,c-n);
            }
        }

        System.out.print(ret);        
    }
}
相关推荐
梦想画家19 小时前
Apache AGE实战指南:从Cypher语法到核心图算法
算法·cypher·apache age
刀法如飞20 小时前
Go数组去重的20种实现方式,AI时代解决问题的不同思路
后端·算法·go
旖-旎20 小时前
深搜练习(N皇后)(10)
c++·算法·深度优先·力扣
Controller-Inversion21 小时前
322. 零钱兑换
算法
头发够用的程序员21 小时前
C++和Python面试经典算法汇总(一)
开发语言·c++·python·算法·容器·面试
淡海水21 小时前
【AI模型】模型量化技术详解
人工智能·算法·机器学习
炸膛坦客1 天前
嵌入式 - 数据结构与算法:(1-1)数据结构 - 顺序表(Sequential List)
数据结构·算法·嵌入式
水龙吟啸1 天前
数据结构与算法随机复习–Day1
数据结构·c++·算法
生成论实验室1 天前
《事件关系阴阳博弈动力学:识势应势之道》第八篇:认知与反思关系——探索、定位与延续
人工智能·算法·架构·知识图谱·创业创新
YaraMemo1 天前
一文带你区分全局最优解和帕累托最优解
算法·5g·信息与通信·信号处理