爱意随风起9306 发表于 2023-1-3 18:50:11

排列组合

问题
程序员协会的防秃委员会由A名新生,B名二年级学生,C名三年级学生。现在要从中选取3个人组织一个分委员会,要求来自不同的年级,一共有多少种选择方式?

输入
3个由空格隔开的整数,A(0 < A < 100)A(0<A<100)、B(0 < B < 100)B(0<B<100)、C(0 < C < 100)C(0<C<100)

输出
一共有多少种选择方式

我知道如果是两个数值可以用math.comb或者perm这样的内置函数进行计算
但是如果像上面的有三个数值的话,有没有内置函数可以用

柿子饼同学 发表于 2023-1-3 21:58:05

本帖最后由 柿子饼同学 于 2023-1-3 22:05 编辑

好像没有 , 可以自己写一个 , 看到数据范围不大 , 可以考虑打表
把 C(1, 1) 到 C(100, 2) 所有组合数打表 , 然后分类讨论 , 相加即可得出答案
例如选 2个新生 1 个一年级的是 C(新生人数, 2) * C(一年级人数, 1)这样
当然 , 我这个方法可能不是最好的 , 所以我在这蹲一个解

阿奇_o 发表于 2023-1-4 08:36:55

“从中选取3个人组织一个分委员会,要求来自不同的年级”。。要来自“不同年级”,那不就是一个年级选一个人?那是不是 就是 A*B*C 种可能?

isdkz 发表于 2023-1-4 08:43:58

阿奇_o 发表于 2023-1-4 08:36
“从中选取3个人组织一个分委员会,要求来自不同的年级”。。要来自“不同年级”,那不就是一个年级选一个 ...

A*B*C 应该还要除以 6 吧

柿子饼同学 发表于 2023-1-4 11:14:09

阿奇_o 发表于 2023-1-4 08:36
“从中选取3个人组织一个分委员会,要求来自不同的年级”。。要来自“不同年级”,那不就是一个年级选一个 ...
有道理

爱意随风起9306 发表于 2023-1-4 13:19:08

阿奇_o 发表于 2023-1-4 08:36
“从中选取3个人组织一个分委员会,要求来自不同的年级”。。要来自“不同年级”,那不就是一个年级选一个 ...

可以,这个思路
页: [1]
查看完整版本: 排列组合