欢迎光临散文网 会员登陆 & 注册

Python编程算法【四】 借书方案知多少

2022-08-27 11:35 作者:SPC编程爱好者  | 我要投稿

【案例内容】

小明有5本新书,要借给A、B、C三个小朋友,若每人每次只能借1本,则可以有多少种不同的借法?


【解题思路】

本题属于数学中常见的排列组合问题,也就是从5个数中任取3个数,然后再进行全排列,最后得出排列的总数,即是有效的借书方案。具体来讲,先求出5个数中任选3个数,假设有n种选法;接着,再把这3个数进行全排列,假设共有m种排法。则 n x m 就是最终的借书方案。


【Python代码】

借助便利的模块和数学排列组合的知识

本题有两处关键,一是利用python自带模块:itertools.permutations(nums),可以轻松对任何列表做全排列,完毕不必自己再重写一个函数来做;二是借助数学上从n个数中,任选m个数的公式,得出所有的选法,两者一相乘,便可解决本题。编程+数学 = 解法

Python编程算法【四】 借书方案知多少的评论 (共 条)

分享到微博请遵守国家法律