错排问题

问题大意:

1.有n个信封,同样有n封信;

2.这n个信都装错信封;

 

输出:

总共有多少种错排的方式;

 

题解:

n个人的排列数是n的阶乘n!,随机选取m个人作为拿到自己礼物的一组,有Cnm种方法,假设用D(n-m)表示剩下的n-m个人全部拿错的方法数,那么答案就是:

D(n) = (n-1) [D(n-2) + D(n-1)]

但是这应该怎么算呢,其实很简单,用递归就好了!

这是由瑞典著名科学家欧拉按一般情况给了一个公式

D(n) = (n-1) [D(n-2) + D(n-1)]

D(1)=0,D(2)=1;

posted @ 2017-05-26 19:20  ouyang_wsgwz  阅读(204)  评论(0编辑  收藏  举报