切換
舊版
前往
大廳
主題

ZeroJudge - c874: 107北二1.雪花片片 解題心得

Not In My Back Yard | 2018-11-29 23:34:24 | 巴幣 0 | 人氣 919

題目連結:


題目大意:

如上, N = 1 時,有 1 個等邊三角形; N = 2 時,有 4 個等邊三角形; N = 3 時,有 16 個等邊三角形。

現給定 N ( 1 ≦ N ≦ 120 ),求按照上面的碎形(科赫雪花)的成長, 1 ~ N 總共會有幾個等邊三角形。



範例輸入:
範例輸入一:
2

範例輸入二:
3



範例輸出:
範例輸出一:
5

範例輸出二:
21



解題思維:
觀察等邊三角形的數量,我們不難看出當 N = K 時,等邊三角形的數量為 4 ^ K。

因為根據科赫雪花的成長規則是:每條邊會分成三等份,中間的等分會延展出去變為原有的兩倍長。所以每條邊經過每次迭代後,會生出一個新的等邊三角形。而因為本體是三角形,因此如果本來 N = K 時,有 M 條邊;那麼N=K+1時,會有 4M 條邊(因上述規則),而且會因此多出 M 個等邊三角形。

又因為基本形狀是三角形( N = 1 時),所以每次多出的 M 個等邊三角形會是原有的數量之三倍,也就是新的數量 = 原有數量 * 4。因此數量為 4 ^ K ( N = K )。



然後,因為題目是要求1~N的等邊三角形之數量總和。也就是求等差級數
1 + 4 + 4 ^ 2 + …… + 4 ^ N
因此有公式解:
( 4 ^ N - 1 ) / 3

但是因為 N 可以到達 120 ,因此需要大數運算,詳見以前的文章(雖然沒講到除法,但是因為數字固定為 3 ,所以跟文章中的乘法原理差不多)。




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

創作回應

更多創作