淺談鴿巢原理的證明和簡單應用


一、鴿巢原理的證明

1.定義:

若有n個鴿巢和kn+1只鴿子,所有的鴿子都進入鴿巢,那么至少有一個巢中有k+1只鴿子(n,k≥0)。

2.證明(反證法):

若每個鴿巢中的鴿子數都不大於k,則總鴿子數<=kn,與已知相悖。得證。

3.拉姆齊(Ramsey)定理的證明:6個人中,要么存在三個人彼此互相認識,要么存在三個人彼此都不認識;

證明:設六個人為六個點,認識或不認識用兩種不同顏色的線段代表,因為兩人只有一種關系,所以任意一點一定會引出連向其他5點的五個線段,根據鴿巢定理,有2種關系,有2*2+1=5條關系線,即k=2,
那么必定有一種關系擁有2k+1=3條關系線,得證。

4.中國剩余定理(孫子定理)的證明:

求證:設N,M除了1以外沒有公約數(即N,M互質),兩個數字a,b滿足0≤a<N, 0≤b<M,則恰好存在且僅存在一個數字c滿足0≤C<NM且c除以n的余數為a,除以m的余數為b。
證明(反證法):設存在兩個不等的數0≤C1,C2<n
m,使C1,C2關於N,M均同余,即
那么我們不妨設C1<C2,那么設k=C2-C1,那么顯然,C2-C1為N,M的整數倍,即k為N,M的公倍數,則有kmin=LCM[N,M];
因為N,M互質,由LCM求值公式知,那么k=LCM[N,M]=NM;那么C2=C1+K=C1+NM>=N*M,與假設相悖。得證。

5.一些數學定理的證明:

①求證:有理數中的無限位小數在小數點后某一位必開始循環。

證明:由有理數定義我們可設該有理數為N/M(N,M∈Z且M!=0),那么根據豎式除法的原則,求值過程中不斷更新的是分子N的值,由於不同分子都是由上次的分子對分母取模所得知,去M個不同的分子,那么根據鴿巢原理,他們中至少有兩個數關於M同余,那么下一位結果也就循環了。得證。

②求證:從1到2n中,選n + 1個數,至少有一對數,其中一個數是另一個數的倍數;

證明:將選中的n+1個數中所有的2都除掉,即除以2k,由於1-2n中只有n個奇數,一定有一對數的奇數形式是相等的。這兩個數分別是2mequal,2^nequal,因此一定一個數是另一個數的倍數。得證。

③求證:從1-2n中,選n+1個數,至少有一對數是互素的;

證明:我們可以將[1,2n]划分為n個區間[1,2],[3,4],......,[2n-1,2n],那么n+1個數中至少有兩個數來自同一區間;由相鄰兩數互質知n+1個數中,至少有一對數是互素的。

④求證:對於任意正整數 n ,都能找到一個 n 的倍數,它全由數字 0 和 1 構成,且前半部分全部為1,后半部分全部為0;

證明:我們取n個數1,11,111,1111,......,i個1,由鴿巢原理知,這n個數中對n取模至少有兩個數相同,設較大的數為M,較小的數為m,則易證n|M-m;因為M為長度大於m的1串,那么相減后M-m前半部分一定全部為1,后半部分全部為0;

具體關於GCD、LCM相關的證明可以參考以前關於最大公約數的性質的隨筆:http://www.cnblogs.com/COLIN-LIGHTNING/p/8371664.html;

二、相關題目

1.[POJ2356]Find a multiple

題解隨筆:http://www.cnblogs.com/COLIN-LIGHTNING/p/8481478.html

2.[POJ3370]&[HDU1808]Halloween treats

題解隨筆:http://www.cnblogs.com/COLIN-LIGHTNING/p/8481488.html

3.[HDU1205]吃糖果

題解隨筆:http://www.cnblogs.com/COLIN-LIGHTNING/p/8481493.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM