题目转载:http://python.wzms.com/s/1/98
题目描述:
给出两个非负整数n和m,编写程序计算组合数C(n,m)的值,C(n,m)的意思是n个当中取m个,总共有多少种取法。
输入格式:
一行两个空格隔开的非负整数n,m。
输出格式:
输出一个数表示C(n,m)。
- 从n个不同元素中,任取m(m≤n)个元素并成一组,叫做从n个不同元素中取出m个元素的一个组合;
- 从n个不同元素中取出m(m≤n)个元素的所有组合的个数,叫做从n个不同元素中取出m个元素的组合数。
代码:
n = int(input("n:"))
m = int(input("m:"))
r = n - m
# 第一步:自定义阶乘函数,求出n!、m!、r!
def factorial_fun(integer):
if integer == 1:
return 1
return integer * factorial_fun(integer-1)
n_factorial = factorial_fun(n)
m_factorial = factorial_fun(m)
r_factorial = factorial_fun(r)
# 第二步:应用公式求出组合数
combinatorial_number = n_factori