#include <iostream>
using namespace std;
int main() {
int f,f1=0,f2=1;
int N,left=0,right=0;
cin>>N;
while(1)
{
f=f1+f2;//使用循环求出斐波那契数
f1=f2;
f2=f;
if(f<N)
{
left=f;//找到N右侧最近的斐波那契数
}
else
{
right=f;//找到N左侧最近的斐波那契数
break;
}
}
cout<<min(N-left,right-N)<<endl;//求出他们差的最小值
}

京公网安备 11010502036488号