在本教程中,我们将学习如何在 Python 中获得友好的数字。首先,我们将了解什么是友好号码以及如何使用它们。
友好数是两个不同的数,它们相互关联,每个数的适当除数之和等于另一个数。
换句话说,x 的所有适当除数和 y 的所有适当除数之和应该等于相反的数。
sum_x = y and sum_y = x
假设我们有两个数字,123 和 426,我们需要找到 123 和 426 的所有适当除数;然后我们做 123 的适当除数的和,同样做 426。
123 的适当除数之和应该等于 426,426 的适当除数应该等于 123。
如何在 Python 中检查两个数字是否友好
以下是判断两个号码是否友好的步骤。
- 首先,将这两个整数作为用户的输入。
- 求出这两个数的适当除数,并求它们的和。
- 现在检查给定的数字是否等于相反的数字。
- 如果他们是平等的,那么他们是友好的,否则就不是。
- 我们得到输出。
程序
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
这是一个简单的方法来获得友好号码对的计数。我们遍历每一对,检查它们是否构成友好的一对。