Python演習の親密さ

質問の内容:
2つの異なる整数AとBについて、整数Aのすべての因子の合計(A自体を除く1を含む)がBに等しい場合、および整数Bのすべての因子の合計(B自体を除く1を含む) Aに等しい場合、AとBは親密さの数と呼ばれます。カスタム関数fac(x)は、1を含むすべての因子の合計を計算しますが、それ自体は計算せず、それを返します。キーボードから整数nを入力し、fac()関数を呼び出して、n内の近い数を見つけ、出力します。各親密なペアは1回だけ出力され、小さいものが最初に、大きいものが後に続くことに注意してください(例:220-284)。
入力形式:
プロンプトに従ってinput()関数を使用します。
出力形式:
サンプル形式に従い、「print( "{}-{}"。format(parameter 1、parameter 2))」の形式の出力文を使用して親密にします。数値ペアリング
入力サンプルの出力
500
出力サンプル:
220-284

def fac(b):
    sum = 0
    for i in range(1,b):
        if b%i==0:
            sum+=i
    return sum
    
number=int(input())
for i in range(2,number):
    b=fac(i)
    if fac(b)==i and b<i:
        print("%d-%d"%(b,i))

おすすめ

転載: blog.csdn.net/qq_42599616/article/details/105258033