楊輝三角專題

楊輝三角;二項式

1
1、求楊輝三角的第m行第k個元素
第m行有m項,m是正整數,因此k一定不會大于m
第n行的m個數可表示為C(n-1, m-1),即為從n-1個不同元素中取m-1個元素的組合數
解答:
#算法1:首尾補1
m = 5
k = 4
triangle = [] #使用嵌套結構[[]]
for i in range(m):
row = [1]
triangle.append(row)
if i == 0: #第0行直接返回
continue
for j in range(1,i):
row.append(triangle[i-1][j-1] + triangle[i-1][j])
row.append(1)
print(triangle)
print(“—————-“)
print(triangle[m-1][k-1])
#算法2:組合數公式
參考:【圖文】楊輝三角與組合數性質_百度文庫 https://wenku.baidu.com/view/244b7925482fb4daa58d4b1d.html
2
#組合數公式C(m,n) = m!/(n!(m-n)!)
#m行k列的值,C(m-1,k-1)組合數
m = 9
k = 5
#c(n,r) = c(m-1,k-1) = (m-1)!/((k-1)!(m-r)!)
n = m – 1
r = k – 1
d = n – r
targets = [] #r, n-r, n
factorial = 1
for i in range(1, n+1):
factorial *= i
if i == r:
targets.append(factorial)
if i == d:
targets.append(factorial)
if i == n:
targets.append(factorial)
print(targets)
print(targets[2]//(targets[0]*targets[1]))

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/95591

(0)
JacoJaco
上一篇 2018-04-09 19:30
下一篇 2018-04-09 23:18

相關推薦

  • 文件操作

    文件操作 馮諾依曼體系架構 CPU由運算器和控制器組成 運算器,完成各種算數的運算,邏輯運算,數據傳輸等數據加工處理 控制器,控制程序的執行 存儲器,用于記憶程序的數據,列如內存 輸入設備,將數據或者程序輸入到計算機中列如鍵盤 鼠標 輸出設備,將數據或者程序的處理結果展示給用戶,列如顯示器,打印機等等 ? 一般說的IO操作,指的是文件的IO,如果是指網絡的I…

    Python筆記 2018-05-02
  • Python數據結構

    數據結構個人總結,方便以后查找。

    Python筆記 2018-04-01
  • 文件IO常用操作

    io模塊 StringIO BytesIO 類
    pathlib模塊 路徑操作 3.4版本開始
    os模塊 更改權限、顯示信息 3.4版本之前路徑操作
    shuril 模塊(高級文件操作
    csv 文件
    configparser模塊 ini文件處理

    2018-05-02
  • Python 部分知識點總結(七)

    此篇博客只是記錄第九周未掌握或不熟悉的知識點,用來加深印象。

    Python筆記 2018-05-06
  • 裝飾器

    裝飾器 需求 一個加法函數,想增強它的功能,能夠輸出被調用過以及調用的參數信息 def add(x, y): return x + y 增加信息輸出功能 def add(x, y): print(“call add, x + y”) ?# 日志輸出到控制臺 return x + y p 上面的加法函數是完成了需求,但是有以下的缺點 打…

    Python筆記 2018-04-23
  • python安裝失敗原因分析(未指定錯誤0x80072efd)

    python安裝時間很長,最終報錯未指定錯誤0x80072efd   原因分析: download dubugging symbols download debug binaries 這兩項需要聯網(外網),國內安裝會超時報錯。所以安裝時取消這兩項就可以安裝成功      

    2018-08-09
欧美性久久久久