Fibonacci 数列与黄金分割
- 题目描述
Fibonacci 数列是非常著名的数列:
F[1]=1,F[2]=1
对于 i>3,F[i]=F[i−1]+F[i−2]。
Fibnacci 数列有一个特殊的性质,前一项与后一项的比值,F[N]/F[N+1], 会趋近于黄金分割。
为了验证这一性质,给定正整数 N,请你计算 F[N]/F[N+1],并保留 8 位小数。
输入描述
输入一个正整数 N (1≤N≤2×10^9)。
输出描述
输出 F[N]/F[N+1]。答案保留 8 位小数。
3。代码实现:
点击查看代码
#include <iostream>
using namespace std;
int f(int n)
{
if(n==1||n==2){
return 1;
}
else{
return f(n-1)+f(n-2); // 递归公式,第n项会是它前两项的和
}
}
int main()
{
int n;
cin>>n;
if(n>20){
cout<<"0.61803399"; //大于20时,黄金分割数基本不变
}
else{
double ans =1.0*f(n)/f(n+1);
printf("%.8lf",ans); //保留小数点后8位
}
// 请在此输入您的代码
return 0;
}

浙公网安备 33010602011771号