82: 求组合数

简介: 82: 求组合数
题目描述

编写一个函数,求从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
相关文章
|
12月前
|
算法 测试技术 C++
C++二分算法习题:判断是否是完全平方数[容易]和排列箱子[容易]
C++二分算法习题:判断是否是完全平方数[容易]和排列箱子[容易]
|
5月前
|
算法 测试技术 C++
【状态压缩 容斥原理 组合数学】3116. 单面值组合的第 K 小金额
【状态压缩 容斥原理 组合数学】3116. 单面值组合的第 K 小金额
【状态压缩 容斥原理 组合数学】3116. 单面值组合的第 K 小金额
|
5月前
|
算法 测试技术 C++
【组合数学】【动态规划】【前缀和】1735生成乘积数组的方案数
【组合数学】【动态规划】【前缀和】1735生成乘积数组的方案数
迭代法解决递推问题:数列和,sinx,ex的近似值
迭代法解决递推问题:数列和,sinx,ex的近似值
97 0
|
算法 内存技术
求组合数三种算法
求组合数三种算法
65 0
|
人工智能
Leetcode53/152—最大子数组和/最大子数组乘积(状态转移方程/不熟)
Leetcode53/152—最大子数组和/最大子数组乘积(状态转移方程/不熟)
105 0
|
人工智能 算法
刷题之寻找 3 个数的最大乘积和拼数及四平方和
刷题之寻找 3 个数的最大乘积和拼数及四平方和
131 0