少儿编程思维每日一练(20191205)
2019-12-04 11:14
[20191205] 在书架上放有编号为1 ,2 ,...,n的n本书。现将n本书全部取下然后再放回去,当放回去时要求每本书都不能放在原来的位置上。例如:n = 3时:
原来位置为:1 2 3
放回去时只能为:3 1 2 或 2 3 1 这两种
问题:求当n = 5时满足以上条件的放法共有多少种?(不用列出每种放法)
(本题目选自第8届全国青少年信息学奥林匹克联赛(NOIP)初赛)
(先自己算一下)
答案分界线
答案思路:
我们之前已经有一个和这个题目非常类似的题目,如果忘记了,可以点击这里查看:
少儿编程思维每日一练(20191116)
重复一下:对于n个数,每个数都不在原来位置数的计算需要运用到筛法公式,该公式如下:
f(n)=n!(1/2!-1/3!+1/4!+..+(-1)^n/n!)
该公式在n不大于5的情况结果分别为:
* f(2)=1
* f(3)=2
* f(4)=9
* f(5)=44
因此,这里的答案为:44种。
--end--
声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com