这是部分网络信息,太乱,不能看
import math
s =0
p = input()
l = input()
print(math)
from itertools import combinations, permutations
# 列举排列结果[(1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2)]
print(list(permutations([i for i in range(1,4)],2)))
#列举组合结果[(1, 2), (1, 3), (2, 3)]
print(list(combinations([1,2,3],2)))
import math
def factorial_me(n):
'''建立求阶乘的函数'''
result = 1
for i in range(2, n + 1):
result = result * i
return result
def comb_1(n,m):
# 直接使用math里的阶乘函数计算组合数
return math.factorial(n)//(math.factorial(n-m)*math.factorial(m))
def comb_2(n,m):
# 使用自己的阶乘函数计算组合数
return factorial_me(n)//(factorial_me(n-m)*factorial_me(m))
def perm_1(n,m):
# 直接使用math里的阶乘函数计算排列数
return math.factorial(n)//math.factorial(n-m)
def perm_2(n,m):
# 使用自己的阶乘函数计算排列数
return factorial_me(n)//factorial_me(n-m)
if __name__ == '__main__':
print(factorial_me(6))
print(comb_1(45,2))
print(comb_2(45,2))
print(perm_1(45,2))
print(perm_2(45,2))
C(m,n)=,用Python怎么写
>>> def C(n,m):
from math import factorial as f
return round(f(m)/f(n)/f(m-n))
>>> C(3,10)
120
>>> C(7,10)
120
>>> C(5,10)
252
>>> C(1,10)
10
>>> C(2,10)
45
如果你只是要算数量,那根本不需要itertools ,直接套公式就行了
itertools 是用来列出所有的排列组合方式的
你想用这个来算数量,那就列好再sum一下
就是这样
sum(list(combinations([1,2,3],2)))
此外,你所有的公式里为什么只用到了n,m让你弄哪去了,m传递进去了但是没有用,那计算结果能对吗