(前面描述略)
1 3 4 7 11 18 29 47 .... 称为“鲁卡斯队列”。它后面的每一个项都是前边两项的和。
如果观察前后两项的比值,即:1/3,3/4,4/7,7/11,11/18 ... 会发现它越来越接近于黄金分割数!
你的任务就是计算出从哪一项开始,这个比值四舍五入后已经达到了与0.618034一致的精度。
请写出该比值。格式是:分子/分母。比如:29/47
答案
1364/2207
解题过程
发现这是斐波拉数列的题目,只不过这里对精准度做了要求,如果想把精准度控制在内,那么控制精度的方法是:
abs(结果-比较的值)<。
附上代码
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
void Find(double,double);
Find(29.0,47.0);
return 0;
}
void Find(double a,double b)
{
if(abs(a/b-0.618034)<0.000001)
{
cout<<a<<"/"<<b<<endl;
return;
}
Find(b,a+b);
}