計算排列組合數 python

2021-08-28 10:33:21 字數 1178 閱讀 1976

使用scipy計算排列組合的具體數值

from scipy.special import comb, perm

perm(3,2) #計算排列數 6

comb(3,2) #計算組合數 3

自己寫乙個計算排列組合具體數值的函式

import math

def factorial_(n):

result=1

for i in range(2,n+1):

result=result*i

return result

def comb_1(n,m):

return math.factorial(n)//(math.factorial(n-m)*math.factorial(m)) #直接使用math裡的階乘函式計算組合數

def comb_2(n,m):

return factorial_(n)//(factorial_(n-m)*factorial_(m)) #使用自己的階乘函式計算組合數

def perm_1(n,m):

return math.factorial(n) #直接使用math裡的階乘函式計算排列數

def perm_2(n,m):

return math.factorial(n) #使用自己的階乘函式計算排列數

if __name__=='__main__':

print(comb_1(3,2))

print(comb_2(3,2))

print(perm_1(3,2))

print(perm_2(3,2))

使用itertools列出排列組合的全部情況

from itertools import combinations, permutations

list(permutations([1,2,3],2)) #列舉排列結果[(1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2)]

list(combinations([1,2,3],2)) #列舉組合結果[(1, 2), (1, 3), (2, 3)]

python計算排列組合數

def combinatorial n,i 設計組合數 n i min min i,n i result 1 for j in range 0,min 由於浮點數精度問題不能用 result result n j min j return result if name main print int ...

排列組合(組合數)

儒雅隨和的小趙閒暇時很喜歡古典文學,比如金 金銀角大王和孫悟空。話說悟空一行在西天取經路上遇上了妖怪金角大王 銀角大王,把唐僧 八戒 沙僧 白馬,連行李一道擄去。兩個大王有幾個法寶,其中乙個是個魔葫蘆,妖怪叫誰的名字,誰應一聲,就被吸進葫蘆,兩個時辰化為膿水。孫悟空來鬥妖魔,魔王叫 孫悟空 他應了,...

排列 組合數學

定義 從n個不同的元素中,取出m個不同元素,按照順序排成一列,叫做從n個元素取出m個元素的乙個排列。我們將從n個不同的元素取出m個元素所得到得不同排列數,叫做從n個元素取出m個元素的排列數 記為a n,m 其中n m a n,m n n 1 n m 1 n n m 定義 n個不同元素中取m個不同元素...