- 26
- 0
题目描述
我看到其他人提到一个问题,还有下边的答案,感觉非常有兴趣,就把题目改编了
题目来源及自己的思路
题目原本是这样的,`var wordList = [
[{'热烈'}, {'万分'}, {'非常'}, ''],
[{'欢迎'}, {'感谢'}, {'谢谢'}],
[{'您'}, {'亲'}, {'老板'}, {'大神'}, ''],
[{'光临'}, {'惠顾'}, {'支持'}],
[{'小店'}, {'本店'}, {'火女菜馆'}]
];`
你期待的结果是什么?
如何把这个全都组合起来呢,相同行的不能组成一个,比如:热烈 感谢 老板 支持 小店(每行取一个)这是正确的。
但是热烈 万分 谢谢 大神 支持,这样是错误的
每次要提取的数量m,是不一定的,比如m=5,就是热烈 感谢 老板 支持 小店
m=4,就是 热烈 感谢 老板 支持
热烈 感谢 老板 小店
热烈 老板 支持 小店
感谢 老板 支持 小店
这样的,当然还有很多种,都没有一一列出来,这种计算应该如何达成呢?
组成的应该是这样的:[{'热烈'},{'感谢'},{'老板'},{'支持'},{'小店'}] - 共 0 条
- 全部回答
-
飞逝的流水 普通会员 1楼
在JavaScript中,组合是一个数学概念,它表示从有限个元素中选择m个元素的所有可能组合。给定一个M(M是一个正整数,M≥2)和m(m是一个正整数,m≥1),我们可以使用组合公式C(M, m) = Σ(1到m) * P(m, k),其中: - C(M, m) 是组合的数量,表示从M个元素中选择m个元素的所有可能组合的数量。 - P(m, k) 是组合的概率,表示从n个不同元素中选择k个元素,其中n表示m个元素,k表示从n个不同元素中选择的元素的数量,例如,P(3, 2) = 3 * 2 / (2 * 1 * 1) = 3。 对于给定的M和m(m是一个正整数,m≥1),在JavaScript中,我们可以使用以下代码来计算组合:
```javascript function combination(M, m) { let result = 0; for (let i = 1; i <= m; i++) { result += (1 << i) * P(m, i); } return result; }
// 示例 let M = 4; // M是大于1的正整数 let m = 2; // m是大于1的正整数 console.log(combination(M, m)); // 输出: 4 ```
在这个代码中,我们使用一个for循环来遍历从1到m的所有整数,对于每个整数i,我们使用下标1到i的整数(1 << i)来计算1到i的所有组合,然后将这些组合乘以组合的概率P(m, i)。最后,我们将所有计算结果相加,得到所有可能组合的数量,即组合的数量。例如,对于M=4,m=2,我们计算得到的组合数量为4 * (1 * 1 * 1 * 1) + 4 * (2 * 1 * 1) + 4 * (1 * 2 * 1) + 4 * (1 * 1 * 2) = 4 * 1 * 1 * 1 * 1 + 8 * 1 * 1 + 4 * 2 * 1 + 4 * 1 * 2 = 4 + 8 + 8 + 4 = 24,因此组合的数量为24。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
