LQ0264 鲁卡斯队列精度计算

Posted 海岛Blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LQ0264 鲁卡斯队列精度计算相关的知识,希望对你有一定的参考价值。

题目来源:蓝桥杯2012初赛 Java A组A题

题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

黄金分割数 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。

问题分析
计算精度问题,需要用浮点数经典精度判定方法来实现。
数列求值需要找出其规律,用迭代计算来实现。

AC的C语言程序如下:

/* LQ0264 鲁卡斯队列 */

#include <stdio.h>
#include <math.h>

#define EPS 1e-6
int main()

    int a = 1, b = 3, t;
    while (fabs((double) a / b - 0.618034) > EPS)
        t = a + b, a = b, b = t;

    printf("%d/%d\\n", a, b);

    return 0;

以上是关于LQ0264 鲁卡斯队列精度计算的主要内容,如果未能解决你的问题,请参考以下文章

圆周率周长的计算公式?

LQ0159 无穷分数计算精度

数学文化 卢卡斯数列和黄金分割

组合数_卢卡斯定理_费马小定理_高精度组合数

Pi的计算

计算双精度分子和分母的最准确方法