题解 | #Fibonacci数列#

Fibonacci数列

https://www.nowcoder.com/practice/18ecd0ecf5ef4fe9ba3f17f8d00d2d66

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);       
        while (in.hasNextInt()) { 
            int n = in.nextInt();
            int left = 0;
            int right = 1;
            int ret = 0;
            while (n >= right) {
                //找到n的左右的Fibonacci数,
                ret = right + left;
                left = right;
                right = ret;
            }
            //最小步数就是n到左边和到右边的最小值。
            int step = Math.min((right - n), (n - left));
            System.out.println(step);
        }
    }
}

全部评论

相关推荐

程序员小白条:你不是有一段实习了吗,现在找中大厂实习?过段时间要秋招了
我的简历长这样
点赞 评论 收藏
分享
06-10 21:15
门头沟学院 Java
宁阿:好多这种没🧠的公司,他们估计都不知道毕业的人不能给安排实习岗
实习吐槽大会
点赞 评论 收藏
分享
迟缓的斜杠青年巴比Q...:简历被投过的公司卖出去了,我前两天遇到过更离谱的,打电话来问我有没有意向报班学Java学习,服了,还拿我学校一个学长在他们那报班学了之后干了华为OD当招牌
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务