Magic_0919 2016-01-24 15:26 采纳率: 100%
浏览 1816
已采纳

算法问题:n组对象配对,最终均不配对的结果总数是多少?

详细说明:

有n组已经一一配对的人,现在随机分组,重新一对一分配,求最终每个新分组都与之间不同(每个人配对的新人都与之前不同,不能存在其中某些人的分组没有变化的情况)的可能情况总数。(分组内外部均没有先后次序区别)

我的思路:

第一个人可以有n-1个选择,假设他选择了B,那么原本与B配对的人下一个选择,他有n-1个选择,然后假设他选择了C,原本与C配对的人下一个选择,他有n-2过选择……,最终结果是:(n-1) * (n-1)!


当然,结果是我是错的……

求问:

应该如何计算?我的思路错在哪里?

编程问题,所以程序解决思路也可以,不过我主要想知道数学原理。

  • 写回答

8条回答

  • sssseeeeee 2016-01-25 02:53
    关注

    将问题理解成1,2,3...n的错位排列:1,2,3...n重排,k不在第k个位置上。记Si为有i个数在原来位置上的排列,个数为n!/(i!(n_i)!)=n!/i!。#表示乘号。即i个数在原位上,剩下的数全排,剩下的数在不在原位上无所谓,因为容斥原理,错排个数为n!_n!/1!+n!/2!_...+n!/n! (_1)#. #表示乘方

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(7条)

报告相同问题?

悬赏问题

  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)