目录
牛客WY22 Fibonacci数列
解析代码
本题是对于Fibonacci数列的一个考察,Fibonacci数列的性质是第一项和第二项都为1,后面的项形成递归: F(n) = F(n - 1) + F(n - 2),也可以用循环解决。
#include <iostream>
using namespace std;
int main()
{
int f1 = 0, f2 = 1, f3 = 1, n = 0;
cin >> n;
while (true)
{
f3 = f1 + f2;
if (n >= f2 && n <= f3)
break;
f1 = f2;
f2 = f3;
}
cout << min(f3 - n, n - f2);
return 0;
}