PAT 1124 最近的斐波那契数 20分

61 阅读1分钟

1124 最近的斐波那契数 - PAT (Basic Level) Practice (中文) (pintia.cn)

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int x;cin>>x;
    //找到与n最近的斐波那契数
  
    int f0=0,f1=1;
    //开始枚举

    while(f1<x) 
    {
        int k=f0;
        f0=f1;
        f1=k+f0;

    }
       //为什么是小于等于,因为如果 f1到x和f0到x距离都一样的话还是要输出更小的那个解
        if(abs(x-f0)<=abs(x-f1))cout<<f0;
        else cout<<f1;
    return 0;
}