藍橋杯真題——黃金分割數
題目: 黃金分割數0.61803... 是個無理數,這個常數十分重要,在許多工程問題中會出現。有時需要把這個數字求得很精確。
對於某些精密工程,常數的精度很重要。也許你聽說過哈勃太空望遠鏡,它首次升空後就發現了一處人工加工錯誤,對那樣一個龐然大物,其實只是鏡面加工時有比頭髮絲還細許多倍的一處錯誤而已,卻使它成了“近視眼”!!
言歸正傳,我們如何求得黃金分割數的儘可能精確的值呢?有許多方法。
比較簡單的一種是用連分數:
1
黃金數 = ---------------------
1
1 + -----------------
1
1 + -------------
1
1 + ---------
1 + ...
這個連分數計算的“層數”越多,它的值越接近黃金分割數。
請你利用這一特性,求出黃金分割數的足夠精確值,要求四捨五入到小數點後100位。
小數點後3位的值為:0.618
小數點後4位的值為:0.6180
小數點後5位的值為:0.61803
小數點後7位的值為:0.6180340
(注意尾部的0,不能忽略)
你的任務是:寫出精確到小數點後100位精度的黃金分割值。
注意:尾數的四捨五入!尾數是0也要保留!
顯然答案是一個小數,其小數點後有100位數字,請通過瀏覽器直接提交該數字。
注意:不要提交解答過程,或其它輔助說明類的內容。
解答過程:
import java.math.BigDecimal; public class 黃金分割數 { public static BigDecimal res1 = new BigDecimal(1); public static BigDecimal res = new BigDecimal(0); public static void main(String[] args) throws Exception { f(300); res = res.setScale(100, BigDecimal.ROUND_HALF_UP);// setScale是BigDecimal中設定小數點位數的方法 // 保留小數點後100位。ROUND_HALF_UP為四捨五入模式,向上取整 System.out.println(res); } public static BigDecimal f(int n) { if (n == 1) { return res1; } BigDecimal a = new BigDecimal(1); // 每次迴圈結果保留小數點後1000位,迴圈一定次數後(300次),返回res,保留小數點後100位 return res = a.divide(a.add(f(n - 1)), 1000, BigDecimal.ROUND_HALF_UP); } }
相關推薦
藍橋杯真題——黃金分割數
題目: 黃金分割數0.61803... 是個無理數,這個常數十分重要,在許多工程問題中會出現。有時需要把這個數字求得很精確。 對於某些精密工程,常數的精度很重要。也許你聽說過哈勃太空望遠鏡,它首次升
第四屆藍橋杯真題 連號區間
max 排列 add sca ace box 題目 initial for 本來想練習並查集,然後在看官網提示這是並查集類型題目,上來先默寫了一下並查集,想了半天並查集怎麽寫。。我呸,並查集。。這裏找規律。。區間的【最大值-最小值】=【區間長度】,直接枚舉。。。討厭這種找規
第六屆藍橋杯真題總結
for a* 截斷 如果 pan 文字 居中 size using 第一題:獎券數目 有些人很迷信數字,比如帶“4”的數字,認為和“死”諧音,就覺得不吉利。 雖然這些說法純屬無稽之談,但有時還要迎合大眾的需求。某抽
【藍橋杯真題-記事本替換運用】購物單
第一題 標題: 購物單 小明剛剛找到工作,老闆人很好,只是老闆夫人很愛購物。老闆忙的時候經常讓小明幫忙到商場代為購物。小明很厭煩,但又不好推辭。 這不,XX大促銷又來了!老闆夫人開出了長長的購物單,都是有打折優惠的。 小明也有個怪癖,不到萬不得已,從不刷卡,直接現金搞
2018省賽第九屆藍橋杯真題C語言B組第九題題解 全球變暖
標題:全球變暖你有一張某海域NxN畫素的照片,"."表示海洋、"#"表示陸地,如下所示:........##.....##........##...####....###........其中"上下左右"四個方向上連在一起的一片陸地組成一座島嶼。例如上圖就有2座島嶼。 由於全
藍橋杯真題 取球遊戲 題解
題目: 今盒子裡有n個小球,A、B兩人輪流從盒中取球,每個人都可以看到另一個人取了多少個,也可以看到盒中還剩下多少個,並且兩人都很聰明,不會做出錯誤的判斷。 每個人從盒子中取出的球的數目必須是:1,3,7或者8個。 輪到某一方取球時不能棄權! A先取球,
2018 藍橋杯 省賽 B組 原題 C語言B組 第二題 第九屆藍橋杯真題+答案+解析
這段資訊是(一共10個漢字):4 0 4 0 4 0 4 32 -1 -16 4 32 4 32 4 32 4 32 4 32 8 32 8 32 16 34 16 34 32 30 -64 0 16 64 16 64 34 68 127 126 66 -124 67 4 66 4 66 -124 126 1
藍橋杯真題 ——地宮取寶(java)
標題:地宮取寶 X 國王有一個地宮寶庫。是 n x m 個格子的矩陣。每個格子放一件寶貝。每個寶貝貼著價值標籤。 地宮的入口在左上角,出口在右下角。  
2018省賽第九屆藍橋杯真題C語言B組第八題題解 日誌統計
標題:日誌統計小明維護著一個程式設計師論壇。現在他收集了一份"點贊"日誌,日誌共有N行。其中每一行的格式是:ts id 表示在ts時刻編號id的帖子收到一個"贊"。 現在小明想統計有哪些帖子曾經是"熱帖"。如果一個帖子曾在任意一個長度為D的時間段內收到不少於K個贊,小明就
2017河南省B組藍橋杯真題(1) 方格分割
6x6的方格,沿著格子的邊線剪開成兩部分。要求這兩部分的形狀完全相同。如圖:p1.png, p2.png, p3.png 就是可行的分割法。 試計算:包括這3種分法在內,一共有多少種不同的分割方法。注意
藍橋杯真題 振興中華 題解
題目: 小明參加了學校的趣味運動會,其中的一個專案是:跳格子。 地上畫著一些格子,每個格子裡寫一個字,如下所示:(也可參見下圖) 從我做起振 我做起振興 做起振興中 起振興中華 比賽時,先
2018 藍橋杯 省賽 B組 原題 C語言B組 第8題 第九屆藍橋杯真題 日誌統計
標題:日誌統計小明維護著一個程式設計師論壇。現在他收集了一份"點贊"日誌,日誌共有N行。其中每一行的格式是:ts id 表示在ts時刻編號id的帖子收到一個"贊"。 現在小明想統計有哪些帖子曾經是"熱帖"。如果一個帖子曾在任意一個長度為D的時間段內收到不少於K個贊,小明就
15年藍橋杯真題——完美正方形
如果一些邊長互不相同的正方形,可以恰好拼出一個更大的正方形,則稱其為完美正方形。 歷史上,人們花了很久才找到了若干完美正方形。比如:如下邊長的22個正方形 2 3 4 6 7 8 12 13 14 15
2017河南省B組藍橋杯真題(1) 包子湊數
小明幾乎每天早晨都會在一家包子鋪吃早餐。他發現這家包子鋪有N種蒸籠,其中第i種蒸籠恰好能放Ai個包子。每種蒸籠都有非常多籠,可以認為是無限籠。 每當有顧客想買X個包子,賣包子的大叔就會迅速選出若干籠包子
第九屆藍橋杯真題B組 第8題
標題:日誌統計 小明維護著一個程式設計師論壇。現在他收集了一份"點贊"日誌,日誌共有N行。其中每一行的格式是: ts id 表示在ts時刻編號id的帖子收到一個"贊"。 現在小明想統計有哪些
【藍橋杯真題-線性素數法+列舉法】等差素數列
(程式碼原po): #include <algorithm>#include <string.h>#include <iostream>#include &l
2018省賽第九屆藍橋杯真題C語言B組第六題題解 遞增三元組
標題:遞增三元組給定三個整數陣列A = [A1, A2, ... AN], B = [B1, B2, ... BN], C = [C1, C2, ... CN],請你統計有多少個三元組(i, j, k) 滿足:1. 1 <= i, j, k <= N 2. Ai
藍橋杯 - 連號區間數
clu rmq template 最大 時間 最大值和最小值 所有 mes button 歷屆試題 連號區間數 時間限制:1.0s 內存限制:256.0MB 錦囊1 並查集。 錦囊2 從左到右掃描數組,將所有掃描到的數放到並查集中,將相鄰的數
藍橋杯-連號區間數
tex 1.0 一個 () 得到 連續 -m def view 歷屆試題 連號區間數 時間限制:1.0s 內存限制:256.0MB 問題描述 小明這些天一直在思考這樣一個奇怪而有趣的問題: 在1~N的某個全排列中有多少個連號區間呢?這裏所說