82: 求组合数

阅读 11

2024-03-20

题目描述

编写一个函数,求从n 个不同的数中取r 个数的所有选择的个数。

输入
 

输入n 和r 的值; 当用户输入0 0 时,程序结束。

输出
 

根据公式: C(n,r) = C(n, r-1) * (n - r + 1) / r 输出运算结果 输入数据不满足题意时候,输出"error!"

样例输入复制
5 3
10 20
50 3
0 0
样例输出复制
10
error!
19600
def factorial(n):
    s=1
    for i in range(1,n+1):
        s=s*i
    return s
while True:
    try:
        n,r=map(int,input().split())
        if n<r:
            print("error!")
        elif n==0 and r==0:
            break
        else:
            res=factorial(n)//factorial(n-r)//factorial(r)
            print(res)
    except EOFError:
        break

精彩评论(0)

0 0 举报