จำนวนที่เป็นมิตรคือตัวเลขสองจำนวนที่แตกต่างกันซึ่งสัมพันธ์กันโดยที่ผลรวมของตัวหารที่เหมาะสมของแต่ละตัวมีค่าเท่ากับจำนวนอื่น (ตัวหารที่เหมาะสมของจำนวนหนึ่งเป็นปัจจัยบวกของจำนวนนั้นนอกเหนือจากตัวมันเอง ตัวอย่างเช่น ตัวหารที่เหมาะสมของ 6 คือ 1, 2 และ 3.)
ใน python คุณสามารถหาตัวเลขเหล่านี้ได้โดยนำผลรวมของแต่ละตัวมาเปรียบเทียบกัน ตัวอย่างเช่น
def are_amicable(x, y) if x==y: return False # Find sum of their proper divisors sum_x = sum(e for e in range(1, x//2+1) if x % e == 0) sum_y = sum(e for e in range(1, y//2+1) if y % e == 0) #Return true of they satisfy the last condition return sum_x==y and sum_y==x print(are_amicable(15, 20)) print(are_amicable(220, 284))
สิ่งนี้จะให้ผลลัพธ์
False True