错排问题

来源:互联网 发布:javascript 替换对象 编辑:程序博客网 时间:2024/06/06 19:19

错排问题概念:就是将n个数放在n个位置且编号从1到n,先让你从新排序使其位置下标和其标号都不一样,求一共有几种方法。

首先我们可以将排序分为两部:

1.将第一个数进行排序以为不能放在其原始位置所以有n-1种方法。

2.将剩余的n-1种元素进行排序,有两种情况 1>第k个元素放在第一位,而原先的第一位的元素放在了第k位。这种情况其实就是将n-2各元素进行错排,2>第意味的元素放在了第k位,而第k位的元素没有放在第k位,这个就相当于将k-1各元素进行错排。

综上所述:错排的方法个数有f(n)=(n-1)*[f(n-1)+f(n-2)]种。

类似的说法有:将n个信件全部装错,将书放在了不一样的地方。

0 0
原创粉丝点击