博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数论 错排问题 信封问题
阅读量:6688 次
发布时间:2019-06-25

本文共 874 字,大约阅读时间需要 2 分钟。

什么是错排问题?

  十本不同的书放在书架上。现重新摆放,使每本书都不在原来放的位置。有几种摆法?

  写信时将n封信装到n个不同的信封里,有多少种全部装错信封的情况?

错排公式:

  拿信封问题举例子:
  设 Fn 为n封信都装错的情况 ( 信封编号 与 信的编号 各不对应)
  
第一步
    手里有一封编号为 A 的信,把它放到 n 封信封中,因为不能放到位置 A , 所以共有 n-1 种放法。
 
    A( × )
    B( √ )  <= 可以放
    C( √ )  <= 可以放
    ......    ......
    N( √ )  <= 可以放
    总共 N-1 种。
 
 
  
第二步
    假设 编号为 A 的信 放入了编号为 B 的信封。
 
    A(    )
    B( A )  
    C(    )  
    ......
    N(    )  
 
    那么 现在放编号为 B 的信, 就有两种情况。
    ⑴放到位置 A, 这时候相当于信 A 与 信 B 交换位置,那么剩下 n-2 封信,就有 F(n-2) 种放法。
 
    A( B )
    B( A )  _
    C(    )  |
    ......     |  N-2种  
    N(    )  |
 
    ⑵不放到位置 A, 这时候相当与把 n-1 封信 放到 n-1 个不同的信封中,即 F(n-1) 的情况,那么有 F(n-1) 种方法。
    
    A( B )
    B(    )  _
    C(    )  |
    ......     |  N-1种  
    N(    )  |
 
  总计有 F(n-1) + F(n-2)种
  结合第一步,得到
    F(n) = (n-1) [F(n-2) + F(n-1)]  
    F(1) = 0, F(2) = 1.

 

转载于:https://www.cnblogs.com/--zz/p/10544663.html

你可能感兴趣的文章
面向对象与抽象编程的关系
查看>>
myeclipse8.x注册码
查看>>
聊聊Druid(二) -- 获取连接
查看>>
Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
查看>>
ubuntu 安装MYSQLDB , pymssql记录
查看>>
安全细节考虑
查看>>
SpringBoot 免费学习极速入门到整合
查看>>
gridview取值不为&nbsp
查看>>
【python学习】网络爬虫——爬百度贴吧帖子内容
查看>>
所有岗位通过集中无领导小组讨论一起面试来筛选科学吗?
查看>>
Ubuntu下mysql字符集设置
查看>>
Linux下搭建MySQL数据库系统
查看>>
Mysql分页查询丢失数据
查看>>
关于日期处理的工具类
查看>>
java注解 声明
查看>>
【编译打包】httpsqs-1.7-2.el6.src.rpm
查看>>
产品聚焦和市场细分
查看>>
linux下IPTABLES的一些配置
查看>>
Python虚拟环境:Vitualenv
查看>>
反思~~~~~~思绪有点乱
查看>>