社区
数据结构与算法
帖子详情
一道组合数学问题求救
streetkid
2001-07-18 09:49:15
1,2,3,4,5,6的排列,要求6在5前,4在2前,2在1前,2在3前,请问有多少种不同的排列方法?我的答案是30,但书中给的答案却不是,请给出过程,给分多多。
...全文
159
16
打赏
收藏
一道组合数学问题求救
1,2,3,4,5,6的排列,要求6在5前,4在2前,2在1前,2在3前,请问有多少种不同的排列方法?我的答案是30,但书中给的答案却不是,请给出过程,给分多多。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhou_hua_0911
2001-08-12
打赏
举报
回复
6!*0.5*0.5*0.5*0.5=6*5*4*3*2*1*0.25*0.25=45
因为,共有6!种排法,6在5前面有0.5的概率,同理4在2的前面的概率同为0.5,而2在1的前面的概率亦为0.5,2在3前的概率也为0.5
yug
2001-07-21
打赏
举报
回复
to woodqiang(木头):
1. loca[i]表示数字i的排列位置,所以loca[6]<loca[5]即表示6这个数字在5这个数字前面出现;
2. 同样,loca[i]表示数字i的排列位置,请仔细理解,这里不存在数字重复的问题,mark[7]的作用是避免不同分得数字占据同一位置。
不明白为什么有那么多的答案,我觉得从排列组合和程序两方面都讲得很清楚了,不明白...
只好给出所有排列了:
4,2,1,3,6,5,
4,2,1,6,3,5,
4,2,1,6,5,3,
4,2,3,1,6,5,
4,2,6,1,3,5,
4,2,6,1,5,3,
4,6,2,1,3,5,
6,4,2,1,3,5,
4,6,2,1,5,3,
6,4,2,1,5,3,
4,2,3,6,1,5,
4,2,6,3,1,5,
4,2,6,5,1,3,
4,6,2,3,1,5,
6,4,2,3,1,5,
4,6,2,5,1,3,
6,4,2,5,1,3,
4,6,5,2,1,3,
6,4,5,2,1,3,
6,5,4,2,1,3,
4,2,3,6,5,1,
4,2,6,3,5,1,
4,2,6,5,3,1,
4,6,2,3,5,1,
6,4,2,3,5,1,
4,6,2,5,3,1,
6,4,2,5,3,1,
4,6,5,2,3,1,
6,4,5,2,3,1,
6,5,4,2,3,1,
不会再有问题了吧!
woodqiang
2001-07-21
打赏
举报
回复
上面那位yug(寒鹤) 老兄的程序是否有点问题?
我觉得判断语句里的条件只能保证(第六位上的数字<第五位上的数字)但题目要求是6这个数字在5这个数字前面出现。还在排列好像要求数字不可以重复的,你没有这个控制。
zhangning111
2001-07-21
打赏
举报
回复
我算怎么是 45,有跟我一样的没有。
china_bills
2001-07-21
打赏
举报
回复
肯定是有24种排法,你们都错了
china_bills
2001-07-21
打赏
举报
回复
肯定是有24种排法
china_bills
2001-07-21
打赏
举报
回复
应该是有24种排法,如果我的答案对了,我再告诉你算法
woodqiang
2001-07-21
打赏
举报
回复
to yug(寒鹤)
sorry是我错。我理解错了loca数组的用法。
SoftWare1999
2001-07-21
打赏
举报
回复
不用怀疑了就是30种!
yug(寒鹤) 和lins(寒夜听箫) 都已经解释清楚了,结束吧!
林仪明
2001-07-21
打赏
举报
回复
答案是30种!yug(寒鹤) 先生是对的!
根据题目可以确定1234的排法只有两种4213或4231,以及56的情况。
把56插入4213或4231中是15*2=30种。
yug(寒鹤)先生已经用程序写出了,我就不废话了!
fish_autumn
2001-07-20
打赏
举报
回复
答案30,先按4,2排列,
1,3在2后有两种排法,
4个数6有5个位置可选,
6在最左端,5有5个位置可选,
6在4后,5有四个位置可选,
……
6在四个数最右端,5有一个位置可选
所以结果2×(5+4+3+2+1)=30
monthbird
2001-07-18
打赏
举报
回复
C(6, 2)*C(2, 1)=30
yug
2001-07-18
打赏
举报
回复
答案就是30
先考虑6在5前的排列,显然,为6!/2.
当6和5的位置确定,则排列数为4!,考虑剩下的4个数的排列,满足条件的排列仅为2。
所以,答案为(6!/2)*(2/4!)=30
书上也有错的时候。
顺便编个程序验证一下:
int loca[7]; /* loca[1]-loca[6]标记数字 1-6 的排列位置*/
int mark[7]; /* mark[i](i=1,2...,6)标记位置i被占据*/
int sum=0;
int set(int next)
{
int i,j;
for(i=1;i<=6;i++)
{
if(mark[i]==0)
{
loca[next]=i;
mark[i]=1;
if(next==6)
{
if(loca[6]<loca[5] && loca[4]<loca[2] && loca[2]<loca[1] && loca[2]<loca[3])
{
sum++;
printf("\n");
for(j=1;j<=6;j++)printf("%d->%d,",j,loca[j]);
}
}
else set(next+1);
mark[i]=0;
}
}
}
main(){
int i;
for(i=1;i<=6;i++)mark[i]=0;
set(1);
printf("\nsum=%d",sum);
getch();
}
huangry
2001-07-18
打赏
举报
回复
一共是180种,6!/2/2/2/2=180
anjun
2001-07-18
打赏
举报
回复
不对,是小学五年级题目~~~~
starfish
2001-07-18
打赏
举报
回复
这个很简单吗,用容斥定理自己计算一下就可以了。初中生的题目~~
一段摩斯密码里的爱情故事
可是再往后就是讨论到第68楼,这个摩斯密码还是没有任何进展,68楼的网友巨蟹座的传说还想到了可能和心理学和数学有关。 在后来的帖子里,除了加入新网友再次提及手机键盘,其余的网友给出的答案也五花八门...
【Coze 扣子案例】第 22 期・教育篇:如何让错题成为孩子的进步阶梯?红叉背后的知识漏洞该怎么抓?
AI 赋能教育行业,实现拍照识别错题、错题归因、...对学生而言:可节省时间、精准定位
问题
、实现个性化学习、强化知识掌握并让学习效果可视化;对教师而言:能减轻负担、精准了解学情、优化教学决策并丰富教学资源。
无领导小组讨论面试题及答案整理
而这艘轮船上有16个人,他们分别是: 船长:男,36岁 船员: 38岁 盲童:音乐天才 某公司经理:男,34岁 副省长:博士,男 省委副书记:女,42岁 省委副书记的儿子:研究生,数学天才,24岁 某保险公司推销员:白族...
2019清明期间qbxt培训qaq
yy今天又上数学课了,这次老师又问了yy一个新
问题
: 计算 f(n) = 4f(n-1) – 3f(n-2) + 2f(n-4) 的第 k 项,老师会给定这个数列的前四项,以及一个数k,老师说如果yy可以解出来就以yy的名字命名这个数列,yy很想...
我在CSDN参与的3000个帖子
一道
数学题,忘了算法,请各位大哥教我! 16: 请问怎么从二进制数据流的数据生成一个位图对象? 17: 苦了两个月,终于考完了,散分庆祝 18: 苦了两个月,终于考完了,散分庆祝 19: 升两星暨...
数据结构与算法
33,027
社区成员
35,335
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章