题目链接:1.Fibonacci 数列与黄金分割 - 蓝桥云课 (lanqiao.cn)
题目思路:当n超过20时,答案都是一样的,所以只要特殊判断一下n=1,2还有超过20的时候就行了
下面是c++代码:
#include <iostream>
using namespace std;
int main()
{
// 请在此输入您的代码
double a, b, c;
int n;
a = 1.0, b = 1.0;
cin >> n;
if (n == 1) {
printf("%.8lf", a);
return 0;
}
if (n < 3) {
printf("%.8lf", b / (a + b) );
return 0;
}
if (n > 20) {
n = 20;
}
for (int i = 3; i <= n;i++) {
c = a + b;
a = b, b = c;
}
printf("%.8lf", b / (a + b));
return 0;
}