在本教程中,我们将学习如何在Python中获取亲和数。首先,我们将了解什么是亲和数以及它们可以如何使用。

亲和数是两个不同的数,它们之间的每个数的真因子之和等于另一个数。

换句话说,x的所有真因子之和与y的真因子之和应该相等。

sum_x = y and sum_y = x 

假设我们有两个数,123和426,我们需要找到123和426的所有真因子,然后计算123和426的真因子之和。

123的真因子之和应等于426,426的真因子之和应等于123。

如何检查两个数字是否是亲和数

以下是查找两个数字是否是亲和数的步骤:

  • 首先,从用户那里输入两个整数。
  • 获取这两个数字的真因子并计算它们的和。
  • 现在检查给定的数字是否等于对方的数字。
  • 如果它们相等,那么它们是亲和数,否则不是。
  • 然后我们得到输出。

程序

x=int(input('Enter first number : '))  
y=int(input('Enter second number : '))  
sum1=0  
sum2=0  
for i in range(1,x):  
    if x%i==0:  
        sum1+=i  
for j in range(1,y):  
    if y%j==0:  
        sum2+=j  
if(sum1==y and sum2==x):  
    print('Given numbers are Amicable!')  
else:  
    print('Given numbers are not Amicable!') 

输出:

Enter first number : 220
Enter second number : 284
Given numbers are Amicable!    

让我们看另一个输出。

Enter first number : 365
Enter second number : 456
Given numbers are not Amicable! 

解释:

在上面的示例中,我们获取用户输入并将其存储在单独的变量中。我们使用for循环和if语句来查找两个数字的真因子。然后,我们找到这两个数字的真因子之和。使用if语句,我们检查真因子之和是否等于另一个数字,反之亦然。

如何从列表中获取亲和数对的数量

我们有两个整数列表,我们将从两个列表中选择每个数字并进行比较。如果数字是亲和数,增加计数并返回。让我们了解以下示例。

示例 -

# Python3 program to count  
# amicable pairs in an array  
# Calculate the sum  
# of proper divisors  
def sumOfDiv(x):  
    sum = 1  
    for i in range(2, x):  
        if x % i == 0:  
            sum += i  
    return sum  
# Check if pair is amicable  
def CheckAmicable(a, b):  
    if sumOfDiv(a) == b and sumOfDiv(b) == a:  
        return True  
    else:  
        return False  
def countPairs(arr, n):  
    count = 0  
    for i in range(0, n):  
        for j in range(i + 1, n):  
            if CheckAmicable(arr[i], arr[j]):  
                count = count + 1  
    return count  
list1 = [220, 284, 1184,  
        1210, 2, 5]  
n1 = len(list1)  
print(countPairs(list1, n1))  
  
list2 = [2620, 2924, 5020,  
        5564, 6232, 6368]  
n2 = len(list2)  
print(countPairs(list2, n2))  

输出:

2
3

这是获取亲和数对数量的简单方法。我们遍历每一对并检查它们是否形成亲和数对。

标签: Tkinter教程, Tkinter安装, Tkinter库, Tkinter入门, Tkinter学习, Tkinter入门教程, Tkinter, Tkinter进阶, Tkinter指南, Tkinter学习指南, Tkinter进阶教程, Tkinter编程