Python的排列组合运算

注意:本文最后更新于 5年 前。

A(a, b) 排列:

reduce(lambda x, y: x*y, range(b-a+1,b+1))

C(a, b) 组合:

reduce(lambda x, y: x*y, range(b-a+1,b+1)) / reduce(lambda x, y: x*y, range(1,a+1))

一行实现打印杨辉三角

print '\n'.join([' '.join([str(reduce(lambda x,y:x*y,range(a-b+1,a+1) or [1])/reduce(lambda x,y:x*y,range(1,b+1) or [1])) for b in range(a+1)]) for a in range(15)])
发布日期:
分类:杂谈

作者:WuSiYu

学生,Web开发者,智能硬件&IOT爱好者

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注