切換
舊版
前往
大廳
主題

ZeroJudge - b810: 九○七四二的問題之(二) 解題心得

Not In My Back Yard | 2018-10-04 21:06:05 | 巴幣 2 | 人氣 120

題目連結:


題目大意:
給定一個正整數Y(0< Y < 2, 016),代表原先有1 ~ Y,共Y個數字。

接下來要把每兩兩相鄰的數字相加,並將結果寫進新的格子裡。每算完一次全部的相鄰數對,稱為一次的「降階」。

例如:
1  2  3  4  5 ← 原先的數列
3  5  7  9    ← 第一次降階
8  12 16      ← 第二次降階
20 28         ← 第三次降階
48            ← 第四次降階

降階到剩下一個數字時,便不能再次降階。而最後的剩下的數字即是這次題目所求。


解題思維:
模擬即可。但是需要大數加法(結果可能非常地大),做法參考這篇

另外這題有公式解,推導公式和證明就不負責任地交給讀者(X
而這個公式實際運算時會需要大數乘法,一樣詳見剛剛提到的那篇



此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

胖胖貓
第一眼看到我覺得可以用巴斯卡三角形的係數 乘以 對應項數字
往下推導就可以得到公式:
巴斯卡三角形的係數是左右對稱,對稱的兩項加起來就是都是一樣
等於說只要乘上巴斯卡三角形的係數總和即可,我們都知道巴斯卡三角形的係數和就是2的次方向
2018-12-03 16:32:03
Not In My Back Yard
感謝大大的補充XD
2018-12-03 17:26:41

更多創作