【Python練習】尋找n以內的親密數對
阿新 • • 發佈:2019-02-03
題目內容:
對於兩個不同的整數A和B,如果整數A的全部因子(包括1,不包括A本身)之和等於B;且整數B的全部因子(包括1,不包括B本身)之和等於A,則將A和B稱為親密數。自定義函式fac(x)計算x包括1但不包括本身的所有因子和並返回。從鍵盤輸入整數n,呼叫fac()函式尋找n以內的親密數並輸出。注意每個親密數對只輸出一次,小的在前大的在後,例如220-284。
輸入格式:
按提示用input()函式輸入
輸出格式:
按樣例形式,可使用形如“print("{}-{}".format(引數1, 引數2))”輸出語句進行親密數對的輸出
輸入樣例:
500
輸出樣例:
220-284
def fac(x): for a in range(2,x): b = 0 for i in range(1,a): if a % i == 0: b += i r = 0 for j in range(1,b): if b % j == 0: r += j if r == a and a < b: print("{}-{}".format(a,b)) n = int(input()) fac(n)