版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/guorong520/article/details/81234073
一、解析:
当我们一步一步走的时候,一边计算斐波那契数,一边计算左边的数和输入的N值进行差值运算,直到N比斐波那契数小就直接退出。
二、代码
int main()
{
int a=0;
int b=1;
int c=1;
int left=0;
int right=0;
int N=0;
cin>>N;
while(1)
{
a=b;
b=c;
c=a+b;
if(c<N)
{
left=N-c; //左区间步数
}
else
{
right=c-N; //右区间步数
break; //循环结束
}
}
cout<<min(left,right);
return 0;
}