编程语言
首页 > 编程语言> > 【离散数学中的数据结构与算法】九 鸽巢原理

【离散数学中的数据结构与算法】九 鸽巢原理

作者:互联网

鸽巢原理是非常著名的原理,生活正用的也很多。

文章目录

1 简单鸽巢原理的应用

定理(鸽巢原理)

例1

假设在一个盒子里面有10双黑色袜子、 12双蓝色袜子和8双红色袜子。那么拿出4只袜子一定可以保证有同色的两只。

例2

在1到10中选取6个数,则其中必定有两个数的和是11。

在这里插入图片描述
例3

一次酒会上有 n 名来宾,其中一些来宾相互握手致意,已知没有人和自己握手、两人之间至多只握一次手。证明:一定有两名来宾的握手次数相同。

例4

任意12个整数中一定存在两个整数,其差是11的倍数。

2 定理(一般性鸽巢原理)

设 m1, m2, … , mn 都是正整数, 并有m1+m2+…+mn+n+ 1 只鸽子住进 n 个鸽巢,则至少对某个 i 有: 第 i 个巢中至少有 mi 个鸽子, i=1, 2, …, n。

推论:

m 只鸽子住进 n 个巢, 且 m-1=q*n+r,其中 q 和 r 是整数, 且 0≤r<n 。 则至少有一个巢里有 q+1 只鸽子。

2.1 应用

例5

170-1 = 169 = 11*15+4

3 总结

标签:11,握手,离散数学,次数,来宾,鸽巢,原理,数据结构
来源: https://blog.csdn.net/qq_37375427/article/details/88751878