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的最小值,获得最小步数 代码:代码语

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

发布者:admin,转转请注明出处:http://www.yc00.com/web/1754958910a5221711.html

相关推荐

  • 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的最小值,获得最小步数 代码:代码语

    1月前
    200

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信