7-2 jmu-python-組合數 (20分)
print('請輸入數值')
exit(0)
if m < 0:
print('不能負數')
exit(0)
else:
n_1 = factorial(n)
m_1 = factorial(m)
n_m = factorial(n-m)
s = n_1 / (m_1*n_m)
print("result=".format(s))
or
def factorial(n):
s = 1
for i in range(1,n+1):
s = s * i
return s
def cal(m,n):
n_1 = factorial(n)
m_1 = factorial(m)
n_m = factorial(n-m)
return n_1 / (m_1 * n_m)
def judge(m,n):
try:
m, n = int(m), int(n)
return true
except:
return false
m,n = input().split()
if judge(m,n):
m, n = int(m), int(n)
if m > 0 and n > 0:
print('result='.format(cal(m, n)))
else:
print('不能負數')
else:
print('請輸入數值')
雖然上面的**可以通過,但這個程式依我來看並不是很好,不糾結與演算法結構,單從程式本身來講。在『請輸入數值』後並不能繼續輸入,所以可能對我來講有點小瑕疵。
def factorial(n):
s = 1
for i in range(1,n+1):
s = s * i
return s
def cal(m,n):
n_1 = factorial(n)
m_1 = factorial(m)
n_m = factorial(n-m)
return n_1 / (m_1 * n_m)
def judge(m,n):
try:
m, n = int(m), int(n)
return true
except:
return false
m,n = input().split()
while not judge(m,n):
m, n = input('請輸入數值\n').split()
m, n = int(m), int(n)
if m > 0 and n > 0:
print('result='.format(cal(m, n)))
else:
print('不能負數')
而這個是我稍微改進後的程式,但在pta驗證答案時,第二個顯示『非零返回』,未通過。我能力不夠,不知道錯在**,所以有點困惑。 求值2 組合數公式題目
ans 0 for inti 1 i n i for int v 0 v n v ans ans c i,v c i,v 998244353 c i,v 為組合數第i行第v列的數。給你上面的 中的n,請你輸出ans的值。輸入乙個整數n輸出ans的值。示例1 複製3複製 這題然後就變成了 求組合數的問...
組合數學學習筆記2
為第一類斯特林數,表示將 n 個不同元素劃分為 k 個圓排列的方案數。有遞推式 n 1 為第二類斯特林數,表示將 n 個不同元素劃分為 k 個非空子集的方案數。有遞推式和通項式 k sum fraci n 上公升冪和下降冪的定義 x prod x k x prod x k 斯特林數可以把上公升 下降...
求值2(組合數平方和)
題目描述 ans 0 for inti 1 i n i for int v 0 v n v ans ans c i,v c i,v 998244353 c i,v 為組合數第i行第v列的數。給你上面的 中的n,請你輸出ans的值。輸入描述 輸入乙個整數n 輸出描述 輸出ans的值。示例1輸入複製3 ...