蓝桥杯-黄金队列 java

大城市里の小女人 提交于 2020-01-17 05:36:28

黄金队列

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

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

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

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

如果观察前后两项的比值,即:\frac 13
3
1

,\frac 34
4
3

,\frac 47
7
4

,\frac 7{11}
11
7

,\frac {11}{18}
18
11

… 会发现它越来越接近于黄金分割数!

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

注意:
1、将a[i]和a[i-1]强制类型转换为int类型
2、不要用double,而是用float型

public class Main {
	static public void main(String[] args) {
		float a[]=new float[1000];
		a[0]=1;
		a[1]=3;
		for(int i=2;i<1000;i++) {
			a[i]=a[i-1]+a[i-2];
			float d=a[i-1]/a[i];
			if(0.618034-d>0&&0.618034-d<0.000001) {
				System.out.println((int)a[i-1]+"/"+(int)a[i]);
				break;
			}
		}
	}
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!