黄金分割

求黄金分割数的小数点后100位(蓝桥杯竞赛题)

六月ゝ 毕业季﹏ 提交于 2020-03-17 07:58:47
网上虽然有很多解答,但不一定都对,这个是肯定对的。 本题是蓝桥杯的省赛题,题目原文如下 黄金分割数0.61803… 是个无理数,这个常数十分重要,在许多工程问题中会出现。有时需要把这个数字求得很精确。 对于某些精密工程,常数的精度很重要。也许你听说过哈勃太空望远镜,它首次升空后就发现了一处人工加工错误,对那样一个庞然大物,其实只是镜面加工时有比头发丝还细许多倍的一处错误而已,却使它成了“近视眼”!! 言归正传,我们如何求得黄金分割数的尽可能精确的值呢?有许多方法。 比较简单的一种是用连分数:f(n)=1/(1+f(n-1)) abs(f(n)-f(n-1))<10e-100 (连分数的图见QQ群) 这个连分数计算的“层数”越多,它的值越接近黄金分割数。 请你利用这一特性,求出黄金分割数的足够精确值,要求四舍五入到小数点后100位。 小数点后3位的值为:0.618 小数点后4位的值为:0.6180 小数点后5位的值为:0.61803 小数点后7位的值为:0.6180340 (注意尾部的0,不能忽略) 你的任务是:写出精确到小数点后100位精度的黄金分割值。 注意:尾数的四舍五入! 尾数是0也要保留! 显然答案是一个小数,其小数点后有100位数字。 注意:不要提交解答过程,或其它辅助说明类的内容。 说明一些函数的功能: //find_first_not_of(‘0’); //顾名思义

股票涨跌和买卖预测计算公式

血红的双手。 提交于 2020-01-20 07:56:01
1. 次日买入价位的计算公式:买入预测=今日开盘+(今日收盘-今日开盘)/2 注:根据这种方式计算买入价的前提是当天股价出现上涨,今日K线以阳线报收。 举例:假设一只股票开盘价是10元,收盘价是10.8元,那么,次日的买入价计算应为10+(10.8-10)/2=10.40元。由于该股当天涨幅较大,达到8%,因此次日存在回探的可能,不管回探的结果是形成下影线还是形成光脚阴线,其下跌的幅度往往是开盘价与收盘价之间的一半稍多一些,因此,次日如果在10.45元至10.50元挂单买入,成交的可能性较大。 2. 次日卖出价位的计算公式是:卖出预测=今日收盘价+(今日开盘价-今日收盘价)/2 注:股价在下跌过程中出现这种情况的几率较小,一般以震荡下跌为主,但如果次日反弹,力度往往会较强。根据这种测算方法计算出的卖出价位虽然成交率较高,但不一定是最高价,而且这种测算方法需要的前提是当日股价K线应为阴线。 3. 次日上涨与下跌空间预测=收盘价±N*(最高价-最低价) N为变量,即(最高-最低)的倍数,上涨空间预测常见n为2或3,下跌空间预测常见n为1。 举例:2003年5月27日铜城集团(000672)(笔者在盘中买入,但为确保操作的可信度以收盘价位买入价位)。开盘5.47元,最高5.60元,最低5.43元,收盘5.59元。预测次日涨跌空间为: 第二日上涨空间预测=5.59+(5.60-5.43)

蓝桥杯-黄金队列 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 ]

黄金队列

ε祈祈猫儿з 提交于 2019-11-30 00:07:47
黄金分割数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 代码: #include<iostream> using namespace std; int main() {int i; double f[50]={0,1,3},sum; for(i=3;i<49;i++) f[i]=f[i-1]+f[i-2]; for(i=1;i<49;i++) {sum=f[i]/f[i+1]; if(sum<0.6180345&&sum>0.6180335) {cout<

numpy计算斐波那契数列

限于喜欢 提交于 2019-11-28 06:38:20
斐波那契数列的两种方法 Key_Function np.matrix函数, 创建矩阵 rint函数, 对浮点数取整, 但不改变浮点数类型 Code import numpy as np # 第一种方法 F = np.matrix([[1, 1], [1, 0]]) print(F) ''' [[1 1] [1 0]] ''' print((F ** 7)[0, 0]) # 21 print((F ** 2)) ''' [[2 1] [1 1]] ''' print((F ** 3)) ''' [[3 2] [2 1]] ''' print((F ** 4)) ''' [[5 3] [3 2]] ''' # 第二种方法 # 利用黄金分割公式(比奈公式), 加上取整函数, 计算斐波那契数列 n = np.arange(1, 9) print(n) # [1 2 3 4 5 6 7 8] sqrt5 = np.sqrt(5) # 取开方 print(sqrt5) # 2.2360679775 phi = (1 + sqrt5) / 2 # 计算黄金分割率 print(phi) # 1.61803398875 fibonacci = np.rint((phi**n - (-1/phi)**n)/sqrt5) # rint函数, 对浮点数取整, 但不改变浮点数类型 print