【讀書筆記】趣味數(shù)學(xué)及編程拓展(第2版) 第1章
第1章神奇整數(shù)探求
?
1.1 水仙花數(shù)與蘭德爾數(shù)
蘭德爾(Randle)數(shù)又稱自方冪數(shù)。
蘭德爾數(shù):一個n(n≥3)位正整數(shù)如果等于它的n個數(shù)字的n次冪之和,那么該數(shù)稱為n位蘭德爾數(shù),又稱自方冪數(shù)。
如:370 = 3的三次方 + 7的三次方 = 27 + 343 = 370
當(dāng)n=3時稱為水仙花數(shù),當(dāng)n=4時稱為四葉玫瑰花數(shù),當(dāng)n=5時稱為五角星數(shù),當(dāng)n=6時稱為六合數(shù),當(dāng)n=7時稱為北斗七星數(shù),當(dāng)n=8時稱為八仙數(shù),等等。
?
【編程題】
搜索n(3 ≤?n≤?8)位蘭德爾數(shù)。
?
1.2 倍和數(shù)與倍積數(shù)
?
由n個互不相同的數(shù)字(可含數(shù)字0)組成的n位整數(shù)x,若是其n個數(shù)字之和s的整數(shù)m倍,即有x=m×s,則稱整數(shù)x為n位優(yōu)美倍和數(shù),整數(shù)m為對應(yīng)的倍數(shù)。
?
如:407的3個數(shù)字之和為11,407=37×11,407就是一個3位優(yōu)美倍和數(shù),37為相應(yīng)倍數(shù)。
?
【編程題】
探索n位優(yōu)美倍和數(shù)及其倍數(shù)m的最大值與最小值。
輸入正整數(shù)n(2≤n≤9),統(tǒng)計n位優(yōu)美倍和數(shù)的個數(shù),求出倍數(shù)m的最大值與最小值,并輸出對應(yīng)m最大與最小時的n位優(yōu)美倍和數(shù)。
?
由n個互不相同的非零數(shù)字組成的n位整數(shù)x,若是其n個數(shù)字之積t的整數(shù)m倍,即有x=m×t,則稱整數(shù)x為n位優(yōu)美倍積數(shù),整數(shù)m為對應(yīng)的倍數(shù)。
如,3276的4個數(shù)字之積為252,3276=13×252,3276就是一個4位優(yōu)美倍積數(shù),13為對應(yīng)倍數(shù)。
【編程題】
輸入正整數(shù)n(2≤n≤9),探求n位優(yōu)美倍積數(shù)的個數(shù),及n位優(yōu)美倍積數(shù)的倍數(shù)m的最大值與最小值,并輸出倍數(shù)m最大與最小時對應(yīng)的n位優(yōu)美倍積數(shù)。
?
?
1.3 平方數(shù)匯趣
?
一個整數(shù)的2次冪稱為平方數(shù)(又稱完全平方數(shù))。例如,36是6的平方,121是11的平方。
?
【編程題】
連續(xù)寫偶數(shù)個a,再連續(xù)寫位數(shù)為其一半的2a。搜索哪些數(shù)是平方數(shù)。
為確保2a為一個數(shù)字,要求鍵盤輸入a為1,2,3,4。
?
【編程題】
搜索全為偶數(shù)數(shù)字組成且末位非零的n位平方數(shù)。
?
【編程題】
不含重復(fù)數(shù)字的完全平方數(shù)稱為優(yōu)美平方數(shù)。
從鍵盤輸入指定位數(shù)n及指定排除數(shù)字個數(shù)m(m+n ≤?10),并依次輸入m個排除數(shù)字,輸出所有滿足以上要求的平方數(shù)。
?
1.4 勾股數(shù)與長方體數(shù)
把滿足三元二次方程式x^2 + y^2 = z^2 的正整數(shù)解x,y,z稱為一組勾股數(shù),又稱畢達(dá)哥拉斯數(shù)。如,著名的勾三股四弦五。
?
【編程題】
探求并輸出指定區(qū)間[a, b]內(nèi)的所有勾股數(shù)組。
?
如果長方體的棱長x, y, z和長方體對角線長w都是正整數(shù),那么把它們稱為一組長方體數(shù),滿足x^2 + y^2 + z^2 = w^2
【編程題】
輸出區(qū)間[a, b](1≤a<b<10000)內(nèi)的長方體數(shù)組。
?
在區(qū)間[a, b]內(nèi)搜尋6個整數(shù),其中3個整數(shù)是長方體的長、寬、高,另3個整數(shù)是該長方體的6個面的對角線長。
?
1.5 完全數(shù)與p-完全數(shù)
?
若正整數(shù)n的所有小于n的正因數(shù)之和等于n本身,則稱數(shù)n為完全數(shù),又稱完美數(shù)。
如6的小于6的正因數(shù)為1,2,3,而6 = 1+2+3,則6是一個完全數(shù)。
?
設(shè)正整數(shù)a的小于其本身的因數(shù)之和為s,定義比值p(a) = s/a為整數(shù)a的因數(shù)比。
若整數(shù)的因數(shù)比為某一大于1的整數(shù)p,則稱該整數(shù)為p-完全數(shù)。
如p(120) = 2,則120為2-完全數(shù);p(32760) = 3,則32760為3-完全數(shù)
?
【編程題】
探求指定區(qū)間[x, y]中的完全數(shù)和p-完全數(shù)。
?
1.6 卡普雷卡數(shù)
?
如整數(shù)等于分兩段和的平方,稱為卡普雷卡數(shù)
如 3025 = (30 + 25) ^2
?
【編程題】
探索偶數(shù)n位卡普雷卡數(shù):偶數(shù)n位整數(shù)分為前后兩個n/2位整數(shù),該數(shù)等于所分兩個數(shù)和的平方。
?
1.7 雅趣守形數(shù)
?
若正整數(shù)n是它平方數(shù)的尾部,則稱n為守形數(shù),又稱同構(gòu)數(shù)。
如,6是其平方數(shù)36的尾部,25是其平方數(shù)625的尾部,6和25都是守形數(shù)。
?
【編程題】
探求指定區(qū)間[x, y]中的所有守形數(shù)。
?
1.8 逐位整除數(shù)
?
定義n位逐位整除數(shù):從高位開始,高1位能被1整除,高2位能被2整除,高3位能被3整除,以此類推,直至整個n位數(shù)能被n整除。
如,102456就是一個6位逐位整除數(shù)。
?
【編程題】
對于指定的正整數(shù)n,搜索有多少個不同的n位逐位整除數(shù),并找出最大值。
?
1.9 神秘的六六大順數(shù)
?
由6個不同的數(shù)字組成的一個6位整數(shù)m,m的2倍也是由這6個數(shù)字組成;m的3倍也是由這6個數(shù)字組成;以至m的4,5,6倍也是由這6個數(shù)字組成;這個數(shù)字稱為神奇的“六六大順數(shù)”。
【編程題】
試搜索w(1<w<10)位整數(shù)m,它由不同的w個數(shù)字組成,同時整數(shù)m的k(2≤k≤6)倍整數(shù)都是m的變序數(shù)(即m的組成數(shù)字通過不同排列所得整數(shù)),輸入位數(shù)w,搜索所有滿足以上倍數(shù)特征的整數(shù)m。
?
【讀者體會】
這一章介紹了一些神奇的整數(shù)。
如果需要編程找到這些神奇的整數(shù)。
編程設(shè)計要點。枚舉法
1)枚舉。計算并確定數(shù)據(jù)取值范圍,然后循環(huán)依次處理(可以利用數(shù)的一些特征,減小搜索區(qū)間,減少運行時間)
2)分離。依據(jù)定義,分離數(shù)據(jù)中的每個數(shù)字(求余和整除)
3)判別。依據(jù)定義判定。(可以用數(shù)組記錄中間結(jié)果,減小重復(fù)計算)