Program to Check if Two Numbers are a Friendly Pair in C++
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 C++ programming.
Method: Using a Function
We calculate the sum of proper divisors for both numbers and check if their ratios match.
#include <iostream> using namespace std; int sumOfDivisors(int num) { int sum = 0; for (int i = 1; i <= num / 2; i++) { if (num % i == 0) { sum += i; } } return sum; } int main() { int num1, num2; cout << "Enter two numbers: "; cin >> num1 >> num2; int sum1 = sumOfDivisors(num1); int sum2 = sumOfDivisors(num2); if ((double)sum1 / num1 == (double)sum2 / num2) cout << num1 << " and " << num2 << " are a Friendly Pair"; else cout << num1 << " and " << num2 << " are not a Friendly Pair"; return 0; }
Output:
Enter two numbers: 220 284 220 and 284 are a Friendly Pair