楊輝三角,顧名思義,就是楊輝發現的三角(又稱賈憲三角形、帕斯卡三角形)。
1
1 11 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
......
1.首先是等腰三角形
2.除了頂端和兩側是1之外,其餘數字全是它左上方的元素與其右上方的元素的和
3.第n行一定只有n個元素
4.每一行都是對稱的記第n行第m個為yh[n][m]
1.首先我們知道yh[n][m]=yh[n-1][m]+yh[n-1][m-1]
2.接下來我們發現 yh[n][m]=yh[n][n-(m-1)] (推理方式:因為每行都是對稱的且第n行有n個元素,(m-1)表示這個元素與該行第1個元素的距離,那麼最後乙個元素往前倒退m-1個元素的值就等於這個元素)
請試著將每一行的元素拼在一起,如第1行為1,第2行為11…
那我們將發現:
1 ……11^0
1 1 ……11^1
1 2 1 ……11^2
1 3 3 1 ……11^3
1 4 6 4 1 ……11^4
1 5 10 10 5 1 ……11^5
......
得出結論:第n行的所有元素拼接在一起後得到的數是11^(n-1)
接下來我們來看,請試著把每一行的數字都加在一起,如第一行為1,第二行為2:
我們將發現:
1 ……1=2^0
1 1 ……2=2^1
1 2 1 ……4=2^2
1 3 3 1 ……8=2^3
1 4 6 4 1 ……16=2^4
1 5 10 10 5 1 ……32=2^5
......
得出結論:sum(n)=2^(n-1)
接下來我們試著將楊輝三角轉換為直角三角形:
11 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
…請你將前五行所有列相加,得
第一列的總和=1+1+1+1+1=5
第二列的總和=1+2+3+4=10
第三列的總和=1+3+6=10
第四列的總和=1+4=5
第五列的總和=1
這五列的總和(即前四行總和)=31
你會驚人的發現:前四行的總和是第五行的總和-1
如果你再去其他行試試,你將會發現:sum(1、2、3……n)+1=sum(n+1)1.yh[n][m]=yh[n-1][m]+yh[n-1][m-1]
2.yh[n][m]=yh[n][n-(m-1)]
3.第n行的所有元素拼接在一起後得到的數是11^(n-1)
4.sum(n)=2^(n-1)
5.sum(1、2、3……n)+1=sum(n+1)
請勿篡改,ok?
關於楊輝三角
說好的寒假計畫 不談了,以後就是不能相信在家裡能夠學習 題目描述 11 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 上面的圖形熟悉嗎?它就是我們中學時候學過的楊輝三角。輸入輸入包含多組測試資料,每組測試資料的輸入只有乙個正整數n 1 n 30 表示將要輸出的楊輝三...
python楊輝三角 楊輝三角I II
給定乙個非負整數 numrows,生成楊輝三角的前 numrows 行。在楊輝三角中,每個數是它左上方和右上方的數的和。示例 輸入 5 輸出 1 1,1 1,2,1 1,3,3,1 1,4,6,4,1 可以一行一行錯位加,當然這裡提供更簡便的方法。任取一行描述 1,2,1 如何得到 1,3,3,1 ...
Java 楊輝三角
public class yanghui 生成指定行數的楊輝三角形 param lines 楊輝三角形的行數 public void printyanghui int lines if lines 30 int line new int lines int maxlen getmaxlen line...