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的最小值,获得最小步数
代码:
javapublic 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); } }
Fibonacci数列最小步数
robin_suli2024-10-04 9:01
相关推荐
2401_857297911 小时前
秋招内推--招联金融2025闲人编程1 小时前
使用Python实现图形学的阴影贴图算法MarisTang1 小时前
Go语言实现随机森林 (Random Forest)算法育种数据分析之放飞自我2 小时前
GWAS分析中显著位点如何注释基因:excel???碧海蓝天20223 小时前
C++ 线性表、内存操作、 迭代器,数据与算法分离。single5943 小时前
【优选算法】(第十七篇)Silent starry sky4 小时前
C++初学者指南-5.标准库(第二部分)–随机数生成朔北之忘 Clancy6 小时前
2021 年 12 月青少年软编等考 C 语言二级真题解析zty郑桐羽呀6 小时前
[C++] 小游戏 征伐 SLG DNF 0.0.1 版本 zty出品black_blank6 小时前
机器人跳跃问题