admin管理员组文章数量:1794759
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的最小值,获得最小步数
代码:
代码语言:javascript代码运行次数:0运行复制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);
}
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2024-10-09,如有侵权请联系 cloudcommunity@tencent 删除intpublicsystemclassfibonacci本文标签: Fibonacci数列最小步数
版权声明:本文标题:Fibonacci数列最小步数 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1754958912a1708667.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论