Program to Check if Two Numbers are a Friendly Pair in Python

Friendly Pair

A friendly pair (also called an amicable pair) is a pair of numbers where the sum of their proper divisors divided by the number itself results in the same value for both numbers. For example, (220, 284) is a friendly pair.

We will explore a method to check if a given pair of numbers is a friendly pair using Python programming.

Method: Using a Function

We calculate the sum of proper divisors for both numbers and check if their ratios match.

def sum_of_divisors(num):
    return sum(i for i in range(1, num // 2 + 1) if num % i == 0)

# Get user input
num1 = int(input("Enter first number: "))
num2 = int(input("Enter second number: "))

sum1 = sum_of_divisors(num1)
sum2 = sum_of_divisors(num2)

if sum1 / num1 == sum2 / num2:
    print(f"{num1} and {num2} are a Friendly Pair")
else:
    print(f"{num1} and {num2} are not a Friendly Pair")
            

Output:

Enter first number: 220
Enter second number: 284
220 and 284 are a Friendly Pair
Easy aceess next quctions
Getting Started

Positive or Negative number: C C++ Java Python

Even or Odd number: C C++ Java Python

Sum of First N Natural numbers: C C++ Java Python

Sum of N natural numbers: C C++ Java Python

Sum of numbers in a given range: C C++ Java Python

Greatest of two numbers: C C++ Java Python

Greatest of the Three numbers: C C++ Java Python

Leap year or not: C C++ Java Python

Prime number: C C++ Java Python

Prime number within a given range: C C++ Java Python

Sum of digits of a number: C C++ Java Python

Reverse of a number: C C++ Java Python

Palindrome number: C C++ Java Python

Armstrong number: C C++ Java Python

Armstrong number in a given range: C C++ Java Python

Harshad number: C C++ Java Python

Abundant number: C C++ Java Python

Friendly pair: C C++ Java Python