错位排列递推公式推导

错位排列递推公式推导全错位排列 即被著名数学家欧拉 LeonhardEule 1707 1783 称为组合数论的一个妙题的 装错信封问题 装错信封问题 是由当时最有名的数学家约翰 伯努利 JohannBernou 1667 1748 的儿子丹尼尔 伯努利 DanidBernoul 1700 1782 提出来的 大意如下 一个人写了 n 封不同的信及相应的 n 个不同的信封 他把这 n 封信都装错了

全错位排列:即被著名数学家欧拉(Leonhard Euler,1707-1783)称为组合数论的一个妙题的“装错信封问题”。

“装错信封问题”是由当时最有名的数学家约翰·伯努利(Johann Bernoulli,1667-1748)的儿子丹尼尔·伯努利(DanidBernoulli,1700-1782)提出来的,大意如下:

一个人写了n封不同的信及相应的n个不同的信封,他把这n封信都装错了信封,问都装错信封的装法有多少种?

分析:
假设有信封A,B,C,D…;信件1,2,3,4…;全部装错有f(n)种情况。

这里分两种情况考虑:①前面n-1个信封全部装错;②前面n-1个信封有一个没有装错其余全部装错。

①前面n-1个信封全部装错:因为前面n-1个已经全部装错了,所以第n封只需要与前面任一一个位置交换即可,总共有f(n-1)*(n-1)种情况。

举例:假设有4个信封ABCD和4个信件1234;那么前三个全部排错的情况为:312,213两种,加上4后变为3124,2134。4不能在自己位置,因此与前面位置交换即可,所以有4123,3421,3142,4312,2413,2341六种情况。

②前面n-1个信封有一个没有装错其余全部装错:为什么考虑这种情况,因为n-1个信封中如果有一个没装错,那么我们把那个没装错的与n交换,即可得到一个全错位排列情况。
得到这种情况的种数也很简单,即是忽略掉那个没装错的情况去排列其他的信封的全错排种数f(n-2)*(n-1)。

举例:假设有4个信封ABCD和4个信件1234;

前三个为123,忽略1,剩下23,错排23就有32一种情况加上14即变为1324,再交换得到4321这种情况;

前三个为123,忽略2,剩下13,错排13就有31一种情况加上24即变为3214,再交换得到3412这种情况;

前三个为123,忽略3,剩下12,错排12就有21一种情况加上34即变为2134,再交换得到2143这种情况

共三种情况。

综上,f(n)=f(n-1)*(n-1)+f(n-2)*(n-1)=(n-1)*(f(n-1)+f(n-2));




































版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/208802.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午10:44
下一篇 2026年3月19日 上午10:44


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号