简介

雀巢原理:如果把n+1个个物体放进n个盒子,那么至少有一个盒子包含两个或者更多个物体

加强版1:设q1,q2,,qnq_1,q_2,\ldots,q_n是正整数。若将q1+q2++qnn+1q_1+q_2+\cdots+q_n-n+1个物体放入n个盒子中,那么或者第一个盒子至少含有q1q_1个物体,或者第二个盒子至少含有q2q_2个物体,…或者第n个盒子至少含有qnq_n个物体

加强版2:设n和r都是正整数。如果把n(r1)+1n(r-1)+1个物体分配到n个盒子中,那么至少有一个盒子含有r个或更多的物体。


应用1

 在13个人中存在两个人,他们的生日在同一个月份里。

应用2:

设有n对情侣,至少要从这2n个人中选出n+1个人才能保证能够选出一对情侣。

应用3:

给定m个整数a1,a2,a3,,ama_1,a_2,a_3,\ldots,a_m,存在满足0i<jm0\le i<j\le m的整数i和j,使得ai+1+ai+2++aja_{i+1}+a_{i+2}+\cdots+a_j 能够被m整除。通俗的说就是在序列a1,a2,a3,,ama_1,a_2,a_3,\ldots,a_m 中存在连续的a,这些a的加和sum能够被m整除 sum%m=0sum\% m=0

定义 sum[i]为前i项和,考虑这m个数sum[1],sum[2],…,sum[m]如果这些前缀和当中的任意一个可被m整除,那么结论成立。假设这m个前缀和都不能被m整除,那么sum[i]%m=(1,2,3,...,m1)sum[i] \% m=(1,2,3,...,m-1)中的一个:因为有m个前缀和,但只有m-1个余数。所以必然存在两个前缀和sum[i]%m=sum[j]%m=rsum[i]\% m=sum[j]\% m=r;不妨假设sum[i]=pm+r,sum[j]=qm+r,q>psum[i]=pm+r,sum[j]=qm+r,q>p。两者作差sum[j]sum[i]=(qp)msum[j]-sum[i]=(q-p)mai+1+ai+2++aj=(qp)ma_{i+1}+a_{i+2}+ \cdots +aj=(q-p)m,可被 m 整除,证明完毕。

应用4:

一位国际象棋大师有11周的时间备战一场总决赛,他决定每天至少下一盘棋,但为了不使自己过于疲劳,他还决定每周下棋总数不超过12盘。证明存在连续若干天,这位大师恰好下了21盘棋。

定义 sum[ i ]为前 i 天下棋的总数,因为大师每天至少下一盘棋,所以 sum[1,…,77 ]序列为严格递增序列,且1 ≤ sum[1] < sum[2] <…< sum[77] ≤ 132(11×12) ,那么 22≤sum[1]+21 < sum[2]+21 <…< sum[77]+21 ≤ 153;因为这两部分一共有 77×2=154 个数,并且全都在[1,153]范围内,所以至少有两个数相等,又因为 sum[1,…,77 ]序列为严格递增序列,所以第一部分间无相同的数,同理,第二部分间也无相同的数,因此必然存在一个 i 和一个 j 使得 sum[ j ] = sum[ i ]+21.从而这位大师在第 i,i+1,…,j 连续的 (j-i) 天下了21盘棋。

应用5:

从整数 1,2,3,…,200 中选出101个整数。证明在所选的这些整数之间存在两个整数,使得这两个整数一个可被另一个整除。

易得每个整数都可写成 2k*a 的形式(k≥0,a为奇数),这200个数中有 1,3,5,…,199 共100个奇数,那么 a 就是从这100个奇数中任取一个,因为需要取101个数,所以至少存在两个数使得这两个数的 a 相同,假设这两个数分别为 2ia,2ja,j>i2^i*a , 2^j*a,j > i且为整数 ,那么 (2ja)/(2ia)=ji(2^j*a) / (2^i*a)=j-i为整数。