蓝桥杯 参考题目 黄金队列(水题)

  黄金分割数0.618与美学有重要的关系。舞台上报幕员所站的位置大约就是舞台宽度的0.618处,墙上的画像一般也挂在房间高度的0.618处,甚至股票的波动据说也能找到0.618的影子....

  黄金分割数是个无理数,也就是无法表示为两个整数的比值。0.618只是它的近似值,其真值可以通过对5开方减去1再除以2来获得,我们取它的一个较精确的近似值:0.618034

  有趣的是,一些简单的数列中也会包含这个无理数,这很令数学家震惊!

  1 3 4 7 11 18 29 47 .... 称为“鲁卡斯队列”。它后面的每一个项都是前边两项的和。

  如果观察前后两项的比值,即:1/3,3/4,4/7,7/11,11/18 ... 会发现它越来越接近于黄金分割数!

  你的任务就是计算出从哪一项开始,这个比值四舍五入后已经达到了与0.618034一致的精度。

  请写出该比值。格式是:分子/分母。比如:29/47

  答案写在“解答.txt”中,不要写在这里!


 

  水题。

  求斐波那契数列+模拟除法。

  解答:1364/2207

 1 #include <iostream>
 2 using namespace std;
 3 unsigned long long f[1000];
 4 int main()
 5 {
 6     f[1]=1;
 7     f[2]=3;
 8     int i;
 9     for(i=3;f[i-1]<1e18;i++){
10         f[i] = f[i-1] + f[i-2];
11     }
12     cout<<i<<endl;
13     i--;
14     for(int i=3;i<30;i++){
15         unsigned long long x = f[i-2];
16         unsigned long long y = f[i-1];
17         cout<<x<<' '<<y<<endl;
18         for(int j=0;j<=20;j++){
19             cout<<x/y;
20             x = (x%y)*10;
21             if(j==0)
22                 cout<<'.';
23             if(j%10==0)
24                 cout<<' ';
25         }
26         cout<<endl;
27     }
28     return 0;
29 }

 

Freecode : www.cnblogs.com/yym2013

posted @ 2014-03-18 21:28  Freecode#  阅读(569)  评论(0编辑  收藏  举报