【基础】杨辉三角python题解
題目 1231: 楊輝三角
時間限制: 1Sec 內存限制: 128MB 提交: 2261 解決: 750
題目描述
還記得中學時候學過的楊輝三角嗎?具體的定義這里不再描述,你可以參考以下的圖形:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
輸入
輸入數據包含多個測試實例,每個測試實例的輸入只包含一個正整數n(1<=n<=30),表示將要輸出的楊輝三角的層數。
輸出
對應于每一個輸入,請輸出相應層數的楊輝三角,每一層的整數之間用一個空格隔開,每一個楊輝三角后面加一個空行。
樣例輸入
2 3
樣例輸出
1
1 1
1
1 1
1 2 1
楊輝三角解析
楊輝三角是一道非常經典的題目。我們先來看楊輝三角的一些概述,以下來自百度百科
前提:每行端點與結尾的數為1.
每個數等于它上方兩數之和。
每行數字左右對稱,由1開始逐漸變大。
第n行的數字有n項。
前n行共[(1+n)n]/2 個數。
第n行的m個數可表示為 C(n-1,m-1),即為從n-1個不同元素中取m-1個元素的組合數。
第n行的第m個數和第n-m+1個數相等 ,為組合數性質之一。
每個數字等于上一行的左右兩個數字之和。可用此性質寫出整個楊輝三角。即第n行的第i個數等于第n-1行的第i-1個數和第i個數之和,這也是組合數的性質之一。即 C(n+1,i)=C(n,i)+C(n,i-1)。
通過這些性質我們可以知道一些規律,當然圖片會更直觀。
個人技術博客——二進制的伽利略’s Blog
http://galileocat.cn/
總結
以上是生活随笔為你收集整理的【基础】杨辉三角python题解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MS08067 第一期 “恶意代码分析”
- 下一篇: websocket python爬虫_p