题目:
题解:
#include<iostream>
#include<cmath>
#include <climits>
using namespace std;
int main()
{
int fib[50] = {0}; //记录10的8次方之内的斐波那契数
fib[0] = 0, fib[1] = 1;
int len = 0,i; //记录斐波那契数的个数
for (i = 2; fib[i-1] < 1E8; i++)
{
fib[i] = fib[i - 1] + fib[i - 2];
}
len = i;
int n;
cin>>n;
int min=INT_MAX;
//找最小值
for (int i = 0; i < len; i++)
{
if(abs(n-fib[i])<min)
{
min=abs(n-fib[i]);
}
}
//寻找答案
for (int i = 0; i < len; i++)
{
if(abs(n-fib[i])==min)
{
cout<<fib[i];
return 0;
}
}
return 0;
}
标签:契数,PAT,int,len,斐波,fib,include
From: https://blog.csdn.net/2301_79580018/article/details/139880291