求N以內的親密數

2021-10-06 12:36:19 字數 588 閱讀 4396

親密數的含義

如果整數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 輸出要有文字說明。輸出時每對親密數用一對圓括號括起來,兩數間逗號...