[蓝桥杯2019初赛]Fibonacci数列与黄金分割

会有一股神秘感。 提交于 2020-03-01 11:52:12

[蓝桥杯2019初赛]Fibonacci数列与黄金分割

题目描述

在这里插入图片描述

输入

在这里插入图片描述

输出

在这里插入图片描述

样例输入

2

样例输出

0.50000000
怎么说吧,蓝桥杯的题都有一个特别的技巧:从题目中找线索。
这也可以说是一个坑吧。
刚看这个题就感觉一定要用long long int,然后发现其实用了也没用,2000000000项的斐波那契数列根本存不了,然后就只能注意题目中的一点:趋近于黄金分割,然后就会想是不是在第多少项就不动了呢,所以先打出来一个一个的试,就发现从第20项开始就为0.61803399,不动了。
本来还以为是要用高精度这类的东西,只能说想偏了吧。

#include <iostream>
using namespace std;
long long int f[300];
int main()
{
	f[1]=1;
	f[2]=1;
	int n;
	for(int i=3;i<=100;i++)
		f[i]=f[i-1]+f[i-2];	
	cin>>n;
	if(n<20)
		printf("%.8lf\n",1.0*f[n]/f[n+1]);	
	else
		cout<<"0.61803399";		
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!