作业帮 > 数学 > 作业

一个英语单词Banana,将所有的字母拆散重新组合,问有多少种组合满足b后边马上出现a

来源:学生作业帮 编辑:拍题作业网作业帮 分类:数学作业 时间:2024/05/21 00:16:13
一个英语单词Banana,将所有的字母拆散重新组合,问有多少种组合满足b后边马上出现a
你这是英文问题?数学问题?还是程序问题?
1.如果是英文问题,答案是没有,因为banana无法再组合成其他单词;如果banana本身考虑在内,那么也就这个1个满足要求.
2.如果是数学问题,那么答案是30.这是一个古典概率问题,Banana有6个字母,本来有6!种可能的组合;但a重复了3次;n重复了2次,因此最后的组合是6!÷ (3!× 2!)= 60; 但ba相连的,组合则是5×(4!÷ ( 2!× 2!)),因为ba出现的位置有5种,每种的组合(4!,排除剩余的a重复次数2!和n的重复次数2!)=6,所以最后结果是30
3.如果是程序问题,那么一个简单的c++程序如下:
#include
#include
#include
using namespace std;
int main(int argc,char** argv) {
string str = "Banana";
int total_cnt = 0;
int match_cnt = 0;
sort(str.begin(),str.end());
do {
cout
再问: 为记得强大和全面点赞,这个是个数学问题,能不能帮我再详细解释一下怎么得到的30
再答: 谢谢支持。

1. ba这样的组合,只能出现在5个位置上;(x5)
2. 每出现一次,剩下4个位置,应该是4!组合;但ba出现后,剩下的字母是a a n n, 就是说a a 及 a a这样的组合只能算一次,同样n n和n n的组合也只能算一次,因此要把它们都扣除。 因此是:4!/ (2! x 2!) = 6

3. 这样5 x 6 = 30.