黄金分割数0.618
黄金分割数0.618与美学有重要的关系。舞台上报幕员所站的位置大约就是舞台宽度的0.618处,墙上的画像一般也挂在房间高度的0.618处,甚至股票的波动据说也能找到0.618的影子....
黄金分割数是个无理数,也就是无法表示为两个整数的比值。0.618只是它的近似值,其真值可以通过对5开方减去1再除以2来获得,我们取它的一个较精确的近似值:0.618034
有趣的是,一些简单的数列中也会包含这个无理数,这很令数学家震惊!
1 34 7 11 18 29 47 .... 称为“鲁卡斯队列”。它后面的每一个项都是前边两项的和。
如果观察前后两项的比值,即:1/3,3/4,4/7,7/11,11/18... 会发现它越来越接近于黄金分割数!
你的任务就是计算出从哪一项开始,这个比值四舍五入后已经达到了与0.618034一致的精度。
请写出该比值。格式是:分子/分母。比如:29/47
答案:1364/2207
解析:鲁卡斯队列和斐波那契数列差不多的,从第三个数开始,每一个数都是前两个数的和,所以你必须求出这些队列的数,先定义前两个数x=1和y=3,然后定义一个循环,每个循环里都先计算前两个数的和,生成一个新数a,然后再计算前一个数和这一个数的比值生成一个数b,然后让0.618034-该数生成c,如果c>0&&c<=0.0000005,则输出两个数即可。
代码如下:
public class 黄金分割数
{
public static void main(String[] args)
{
double x = 1;
double y = 3;
while(true)
{
double a = x + y;
double b = y/a;
double c = 0.618034-b;
if(c>0&&c<=0.0000005)
{
System.out.printf("%.0f",y);
System.out.print("/");
System.out.printf("%.0f",a);
break;
}
x = y;
y = a;
}
}
}
运行结果:
1364/2207