1. 程式人生 > >藍橋杯真題——黃金分割數

藍橋杯真題——黃金分割數

題目: 黃金分割數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座島嶼。  由於全

藍橋 測試次數(詳解)--------Five-菜鳥級

                                        

藍橋 取球遊戲 題解

題目: 今盒子裡有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的某個全排列中有多少個連號區間呢?這裏所說