题解 | #计算斐波那契数最小差值#

计算斐波那契数最小差值

https://www.nowcoder.com/practice/743de16bf29041b7b423609628a1fa8c

#include <stdio.h>
#include <math.h>
int main(){
    int first = 0;
    int second = 1;
    int and = first + second;
    int num = 0;
    scanf("%d", &num);
    while(1){
        if(num == and){
            printf("%d\n",0);
            break;
        }
        else if(num < second){
            if( abs(num - first) > abs(num - second)){
                printf("%d\n",abs(num - second));
            }
            else {
                printf("%d\n",abs(num - first));
            }
            break;
        }
        and = first + second;
        first = second;
        second = and;
    }
}
// 0 1
// int Fib(int n) {
//     if (n == 1)
//         return 0;
//     if (n == 2)
//         return 1;
//     return (Fib(n - 1) + Fib(n - 2));
// }

// int main() {
//     int n = 0;
//     int max = 0;
//     int min = 0;
//     int i = 1;
//     scanf("%d", &n);
//     while (n >= Fib(i))
//         i++;
//     if (n < Fib(i)) {
//         max = Fib(i) - n;
//         min = n - Fib(i - 1);
//         printf("%d", (max < min ? max : min));
//     } else
//         printf("%d", 0);
        
//     return 0;
// }

全部评论

相关推荐

面试摇了我吧:啊哈哈面试提前五个小时发,点击不能参加就是放弃
点赞 评论 收藏
分享
11-09 11:01
济南大学 Java
Java抽象带篮子:外卖项目真得美化一下,可以看看我的详细的外卖话术帖子
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务