在本教程中,我們將學習如何在 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
這是一個簡單的方法來獲得友好號碼對的計數。我們遍歷每一對,檢查它們是否構成友好的一對。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/311487.html