二、枚舉法
枚舉法(也稱為窮舉法)是把討論的對象分成若干種情況(分類),然后對各種情況逐一討論,最終解決整個問題。
運用枚舉法有時要進行恰當的分類,分類的原則是不重不漏。正確的分類有助于暴露問題的本質,降低問題的難度。數論中最常用的分類方法有按模的余數分類,按奇偶性分類及按數值的大小分類等。
例6 求這樣的三位數,它除以11所得的余數等于它的三個數字的平方和。
分析與解:三位數只有900個,可用枚舉法解決,枚舉時可先估計有關量的范圍,以縮小討論范圍,減少計算量。
設這個三位數的百位、十位、個位的數字分別為x,y,z。由于任何數除以11所得余數都不大于10,所以
x2+y2+z2≤10,
從而1≤x≤3,0≤y≤3,0≤z≤3。所求三位數必在以下數中:
100,101,102,103,110,111,112,
120,121,122,130,200,201,202,
211,212,220,221,300,301,310。
不難驗證只有100,101兩個數符合要求。
例7 將自然數N接寫在任意一個自然數的右面(例如,將2接寫在35的右面得352),如果得到的新數都能被N整除,那么N稱為魔術數。問:小于2000的自然數中有多少個魔術數?
對N為一位數、兩位數、三位數、四位數分別討論。
N|100,所以N=10,20,25,50;
N|1000,所以N=100,125,200,250,500;
(4)當N為四位數時,同理可得N=1000,1250,2000,2500,5000。符合條件的有1000,1250。
綜上所述,魔術數的個數為14個。
說明:(1)我們可以證明:k位魔術數一定是10k的約數,反之亦然。
(2)這里將問題分成幾種情況去討論,對每一種情況都增加了一個前提條件,從而降低了問題的難度,使問題容易解決。