Fibonacci数列

Fibonacci数列

/*
2022年09月21日 11:43:09
循环生成斐波那契数,直到碰到最接近n的数。
然后找n前后两个斐波那契数,看看哪个距离更近。
*/

#include <iostream>
#include <algorithm>
using namespace std;

int main() {
    int x;
    cin >> x;
    int a = 0, b = 1, c = 1; // 3个斐波那契数
    while (1) {
        a = b;
        b = c;
        c = a + b;
        if (c >= x)
            break; // 这样 b x c  x就被夹在2个斐波那契数中间
    }
    int ret = min(x - b, c - x);
    cout << ret << endl;
}