电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

java 實現黃金分割數的示例詳解

瀏覽:47日期:2022-08-16 11:52:12

黃金分割數 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

/**/package Question40_49;public class Question44 {public static void main(String[] args) {int a=1,b=3,t;while(true){if(Math.abs((double)a/b-0.618034)<0.000001){System.out.println(a+'/'+b+' = '+(double)a/b);break;}t=a;a=b;b+=t;}}}

運行結果:

1364/2207

補充:費波那契數列java兩種實現+逼近黃金分割率功能

費波那契數列的簡單實現,這是常見的遞歸問題,但實現的方法有很多種,當然算法肯定要簡單高效的了,

網上那些遞歸算法總覺得不好看,所以我自己就寫了下面這個程序,畢竟算法是根據問題出來的,遇到不會的問題還是有自己的想法比較好,特別是算法這方面的。

package test; import java.text.DecimalFormat;import java.util.Arrays; //兩種方法打印個數為n的斐波那契數列public class Fibonacci { //不借助工具容器的數學計算,當增加的功能越來越多時,簡潔性和可讀性都會大大降低 // n為需要顯示的數列個數 (注:僅顯示int值范圍類數列,大概能顯示45個) protected void way1(int n) { int n1 = 1; int n2 = 1; int count = 0; String string = new String(1+'t'+1+'t'); if(n == 1) { System.out.println('1'); } //可顯示n為1開始的任何數的數列 while( count != n/2 -1 ) { n1 += n2; string += Integer.toString(n1)+'t'; n2 += n1; string += Integer.toString(n2)+'t'; count ++; } if (n%2!=0) { n1 = n1 + n2; string += Integer.toString(n1)+'t'; } System.out.println(string); } //借助數組的迭代實現,有很好的可讀性,同時十分簡潔,在后續功能增加的情況下也不復雜 //比如這里增加一個功能,求黃金分割率,要用上面的實現的話,那代碼就太亂了 protected void way2(int n) { int[] fbci =new int [n]; double[] goldindex = new double[n-1]; fbci[0] = 1; fbci[1] = 1; goldindex[0] = 1.00; for (int i = 2; i < fbci.length; i++) { fbci[i] = fbci[i-1] + fbci[i-2]; } DecimalFormat dFormat = new DecimalFormat('0.000000');//控制小數位數,可取消該功能 String result = new String(); for (int i = 1; i < goldindex.length; i++) { goldindex [i] = (double)(fbci[i])/(double)(fbci[i+1]); result += dFormat.format(goldindex [i])+'t'; } System.out.println(Arrays.toString(fbci)); System.out.println(result); } public static void main(String[] args) { // TODO Auto-generated method stub Fibonacci a1 = new Fibonacci(); a1.way1(15); a1.way2(15); } }

1 1 2 3 5 8 13 21 34 55 89 144 233 377 610

[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610]

0.500000 0.666667 0.600000 0.625000 0.615385 0.619048 0.617647 0.618182 0.617978 0.618056 0.618026 0.618037 0.618033

補充:JAVA中黃金分割點的問題

描述:

尋找某兩個數相除,其結果 離黃金分割點 0.618最近

(1)分母和分子不能同時為偶數

(2)分母和分子 取值范圍在[1-20

/** * <p>Title: Excise1</p> * <p>Description: 黃金分割點 </p>* 描述:尋找某兩個數相除,其結果 離黃金分割點 0.618最近 * (1)分母和分子不能同時為偶數 (2)分母和分子 取值范圍在[1-20]* @author Mr.chen * @date 2018年8月22日 */public class Excise1 { public static void main(String[] args) { int A = 0; //A 比較后傳出來的新分子 int B=1; //B 比較后傳出的新分母 double c=0,C=1; //C 比較后傳出來的新a/b的值 for(int a=1;a<21;a++) { //循環分子 for(int b=1;b<21;b++) { //循環分母 if(a%2==0&b%2==0) //如果兩個同時為偶數是跳出 continue; c=(double)a/b; //計算a/b的值并且 強制轉化類型 賦值給c if(Math.abs(c-0.618)<Math.abs(C-0.618)) { //如果通過math函數調用.abs()方 法;取方法內參數的絕對值 C=c; //通過畫x坐標軸 如果算出來的值小于一開始設定的(大C-0.168)就證// 明距離0.168左邊的距離比右邊的短 所以賦值給大C 并且再次循環//目的使得通過循環讓分子和分母的比值越來越趨近于0.168 A=a; //將合適的分子a賦給一開始設定好的A B=b; //將合適的分母b賦給一開始設定好的B }} } System.out.println('離黃金分割點(0.618)最近的兩個數相除是:'+A+'/'+B+'='+C); //將傳給A B 的值輸出來 }}

對于小白的我來說這個邏輯是真的?牛。。。。。。。。。。。?/p>

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: Java
相關文章:
主站蜘蛛池模板: 深圳3D打印服务-3D打印加工-手板模型加工厂-悟空打印坊 | 海日牌清洗剂-打造带电清洗剂、工业清洗剂等清洗剂国内一线品牌 海外整合营销-独立站营销-社交媒体运营_广州甲壳虫跨境网络服务 | 上海电子秤厂家,电子秤厂家价格,上海吊秤厂家,吊秤供应价格-上海佳宜电子科技有限公司 | EDLC超级法拉电容器_LIC锂离子超级电容_超级电容模组_软包单体电容电池_轴向薄膜电力电容器_深圳佳名兴电容有限公司_JMX专注中高端品牌电容生产厂家 | 铝镁锰板厂家_进口钛锌板_铝镁锰波浪板_铝镁锰墙面板_铝镁锰屋面-杭州军晟金属建筑材料 | 喷砂机厂家_自动除锈抛丸机价格-成都泰盛吉自动化喷砂设备 | 台湾Apex减速机_APEX行星减速机_台湾精锐减速机厂家代理【现货】-杭州摩森机电 | 江苏南京多语种翻译-专业翻译公司报价-正规商务翻译机构-南京华彦翻译服务有限公司 | 神超官网_焊接圆锯片_高速钢锯片_硬质合金锯片_浙江神超锯业制造有限公司 | 环讯传媒,永康网络公司,永康网站建设,永康小程序开发制作,永康网站制作,武义网页设计,金华地区网站SEO优化推广 - 永康市环讯电子商务有限公司 | 博客-悦享汽车品质生活 | 南京交通事故律师-专打交通事故的南京律师| 铝镁锰板_铝镁锰合金板_铝镁锰板厂家_铝镁锰金属屋面板_安徽建科 | 制冷采购电子商务平台——制冷大市场| 合肥活动房_安徽活动板房_集成打包箱房厂家-安徽玉强钢结构集成房屋有限公司 | SMC-ASCO-CKD气缸-FESTO-MAC电磁阀-上海天筹自动化设备官网 | 爆炸冲击传感器-无线遥测传感器-航天星百科 | 欧必特空气能-商用空气能热水工程,空气能热水器,超低温空气源热泵生产厂家-湖南欧必特空气能公司 | 河南道路标志牌_交通路标牌_交通标志牌厂家-郑州路畅交通 | 武汉天安盾电子设备有限公司 - 安盾安检,武汉安检门,武汉安检机,武汉金属探测器,武汉测温安检门,武汉X光行李安检机,武汉防爆罐,武汉车底安全检查,武汉液体探测仪,武汉安检防爆设备 | 防渗土工膜|污水处理防渗膜|垃圾填埋场防渗膜-泰安佳路通工程材料有限公司 | FFU_空气初效|中效|高效过滤器_空调过滤网-广州梓净净化设备有限公司 | 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库-首页-东莞市傲马网络科技有限公司 | 浙江宝泉阀门有限公司 | 百度爱采购运营研究社社群-店铺托管-爱采购代运营-良言多米网络公司 | 精益专家 - 设备管理软件|HSE管理系统|设备管理系统|EHS安全管理系统 | 合肥汽车充电桩_安徽充电桩_电动交流充电桩厂家_安徽科帝新能源科技有限公司 | 洗石机-移动滚筒式,振动,螺旋,洗矿机-青州冠诚重工机械有限公司 | 清管器,管道清管器,聚氨酯发泡球,清管球 - 承德嘉拓设备 | 北京翻译公司-专业合同翻译-医学标书翻译收费标准-慕迪灵 | 安全光栅|射频导纳物位开关|音叉料位计|雷达液位计|两级跑偏开关|双向拉绳开关-山东卓信机械有限公司 | 沈飞防静电地板__机房地板-深圳市沈飞防静电设备有限公司 | 重庆轻质隔墙板-重庆安吉升科技有限公司 | 在线PH计-氧化锆分析仪-在线浊度仪-在线溶氧仪- 无锡朝达 | 刺绳_刀片刺网_刺丝滚笼_不锈钢刺绳生产厂家_安平县浩荣金属丝网制品有限公司-安平县浩荣金属丝网制品有限公司 | 天津热油泵_管道泵_天津高温热油泵-天津市金丰泰机械泵业有限公司【官方网站】 | 粉末冶金-粉末冶金齿轮-粉末冶金零件厂家-东莞市正朗精密金属零件有限公司 | 成都离婚律师|成都结婚律师|成都离婚财产分割律师|成都律师-成都离婚律师网 | 科昊仪器超纯水机系统-可成气相液氮罐-美菱超低温冰箱-西安昊兴生物科技有限公司 | 数显水浴恒温振荡器-分液漏斗萃取振荡器-常州市凯航仪器有限公司 | 学校用栓剂模,玻璃瓶轧盖钳,小型安瓿熔封机,实验室安瓿熔封机-长沙中亚制药设备有限公司 |