0
点赞
收藏
分享

微信扫一扫

82: 求组合数

夏木之下 2024-03-20 阅读 11
算法python
题目描述

编写一个函数,求从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 条评论