親密數的含義
如果整數a的全部因子(包括1,不包括a本身)之和等於b;且整數b的全部因子(包括1,不包括b本身)之和等於a,則將整數a和b稱為親密數。
那麼怎麼求n以內所有的親密數,**如下
#include
intmain()
for( n=
0, i=
1; i<=b/
2; i++
)/*計算b的各因子,各因子之和存於n*/
if(n==a && a/*使每對親密數隻輸出一次*/
printf
("(%d,%d)is a pair of inimate number\n"
, a, b)
;/*若n=a,則a和b是一對親密數,輸出*/
}return0;
}
我個人認為這道題可以分成三部分,第一部分是求a的因子(不包括自身)的和並存到b內,第二部分是求b的因子(不包括自身)的和並存到n中,第三部分是判斷n和a是否相等(判斷是不是親密數),a和b的大小關係(確保每對親密數隻輸出一次)。
純筆記性質,如果有錯誤,歡迎各位大佬指出。
尋找n以內的親密數對
題目內容 對於兩個不同的整數a和b,如果整數a的全部因子 包括1,不包括a本身 之和等於b 且整數b的全部因子 包括1,不包括b本身 之和等於a,則將a和b稱為親密數。自定義函式fac x 計算x包括1但不包括本身的所有因子和並返回。從鍵盤輸入整數n,呼叫fac 函式尋找n以內的親密數並輸出。注意每...
求n以內的所有因子數
在網上搜到的都是些求質因子的,剛好今天遇到一道題,題目思路錯了,就碼了乙個求乙個數所有因子的模板。再根據公式n p1 x1 p2 x2 pm xm,pi表示質因子數,xi表示其指數,從而可以看出n的所有因子都是可以通過質因子組合而來,並且有n的因子個數等於 x1 1 x2 1 xm 1 所以該模板的...
輸出500以內的所有親密數
1 程式中既要有for迴圈也要有while或do while迴圈 2 在輸出每對親密數時,小數在前 大數在後,並去掉重複的親密數對,例如 220和284是一對親密數,而284和220也是一對親密數,只輸出220和284這對 親密數 3 輸出要有文字說明。輸出時每對親密數用一對圓括號括起來,兩數間逗號...