2012蓝桥杯省赛真题 鲁卡斯序列

20 阅读1分钟

该题比较简单,甚至我们可以利用计算器一直手写出全部系列然后一个一个判断

当然也可利用代码解决

#include <iostream>//写法1
using namespace std;
int main()
{
  float a = 1,b = 3,c = 0;
  float n = 0;
  while(1){
    n = a/b;
    if((n>=0.6180335)&&(n<=0.6180344))//四舍五入
      break;
    c = a + b;//位置移动
    a = b;
    b = c;
  }
  cout<<a<<'/'<<b;;
  return 0;
}
#include <iostream>//写法二
using namespace std;

int main()
{
   float a,b,c;
   a=1,b=3;
    while(abs(a/b-0.618034)>=0.000001)//注意要用绝对值
    {
        c=b;
        b=b+a;
        a=c;
    }
    cout<<a<<"/"<<b;
   return 0;
}