杨辉三角专题

杨辉三角;二项式

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.178linux.com/95591

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

相关推荐

  • Python 的描述器Descriptors

    Python 的描述器Descriptors

    Python笔记 2018-05-29
  • Python高阶函数及装饰器

    First Class Object 函数在Python中是一等公民 函数也是对象,可调用的对象 函数可作为普通变量、参数、返回值等 高阶函数 数学定义:y=g(f(x)) 高阶函数需满足的条件,至少其一 接受一个或多个函数作为参数 输出一个函数 内建函数的高阶函数 排序:sorted(iterable[,key][,reverse]) 返回一个新列表,对一…

    2018-04-22
  • DevOps 风向标!DevOps国际峰会6月29日正式启航!

    DOIS 大会为您呈现互联网公司与海外企业的实践经验与工具技术,聚焦 DevOps 在金融、电信、零售等行业的系统性实践。在这里我们不空谈、不务虚,实实在在的专注DevOps落地。

    2018-05-16
  • 解析式

    列表解析式和字典解析式 datetime模块 对日期,时间,时间戳的处理 datetime类 today()返回本地时区当前的datetime对象 now(tz=None)返回当前时间的datetime对象,时间到微秒,如果tz为None,返回和today()一样 utcnow()没有时区的当前时间 fromtimestamp(timestamp,tz=Zo…

    2018-04-09