#include <iostream>
using namespace std;

int main() 
{
    int n;
    cin >> n;
    int a = 0, b = 1, c = 1;
    while(n > c)
    {
        a = b;
        b = c;
        c = a + b;
    }

    cout << min(c - n, n - b);

    return 0;
}

优化后的版本: 使用三个变量进行模拟, n 就算在 Fibonacci 里这种特殊情况也可以解决!