PHP Basic
PHP Interview Programs
- PHP Interview Programs
- PHP Abundant Number
- PHP Amicable Number
- PHP Armstrong Number
- PHP Average of N Numbers
- PHP Automorphic Number
- PHP Biggest of three numbers
- PHP Binary to Decimal
- PHP Common Divisors
- PHP Composite Number
- PHP Condense a Number
- PHP Cube Number
- PHP Decimal to Binary
- PHP Decimal to Octal
- PHP Disarium Number
- PHP Even Number
- PHP Evil Number
- PHP Factorial of a Number
- PHP Fibonacci Series
- PHP GCD
- PHP Happy Number
- PHP Harshad Number
- PHP LCM
- PHP Leap Year
- PHP Magic Number
- PHP Matrix Addition
- PHP Matrix Division
- PHP Matrix Multiplication
- PHP Matrix Subtraction
- PHP Matrix Transpose
- PHP Maximum Value of an Array
- PHP Minimum Value of an Array
- PHP Multiplication Table
- PHP Natural Number
- PHP Number Combination
- PHP Odd Number
- PHP Palindrome Number
- PHP Pascalβs Triangle
- PHP Perfect Number
- PHP Perfect Square
- PHP Power of 2
- PHP Power of 3
- PHP Pronic Number
- PHP Prime Factor
- PHP Prime Number
- PHP Smith Number
- PHP Strong Number
- PHP Sum of Array
- PHP Sum of Digits
- PHP Swap Two Numbers
- PHP Triangular Number
PHP Program to Check Amicable Number
Photo Credit to CodeToFun
π Introduction
In the realm of programming, exploring number properties is a fascinating journey. One interesting concept is that of amicable numbers.
Amicable numbers are two numbers that share a unique relationship: the sum of the proper divisors of each number is equal to the other number.
In simpler terms, the sum of the divisors of one number is the other number itself.
In this tutorial, we'll dive into a PHP program designed to check whether two given numbers are amicable or not.
The program will identify and compare the sum of proper divisors to determine if the numbers form an amicable pair.
π Example
Let's take a look at the PHP code that accomplishes this task.
<?php
// Function to calculate the sum of proper divisors of a number
function sumOfDivisors($num)
{
$sum = 1; // Start with 1 as every number is divisible by 1
for ($i = 2;$i * $i <= $num;++$i)
{
if ($num % $i == 0)
{
$sum += $i;
if ($i != $num / $i)
{
$sum += $num / $i;
}
}
}
return $sum;
}
// Function to check if two numbers are amicable
function areAmicable($num1, $num2)
{
return sumOfDivisors($num1) == $num2 && sumOfDivisors($num2) == $num1;
}
// Replace these values with your desired numbers
$number1 = 220;
$number2 = 284;
// Check if the numbers are amicable
if (areAmicable($number1, $number2))
{
echo "$number1 and $number2 are amicable numbers.\n";
}
else
{
echo "$number1 and $number2 are not amicable numbers.\n";
}
?>
π» Testing the Program
To test the program with different numbers, replace the values of $number1 and $number2 in the code.
220 and 284 are amicable numbers.
Run the script to check if the numbers form an amicable pair.
π§ How the Program Works
- The program defines a function sumOfDivisors to calculate the sum of proper divisors for a given number.
- Another function, areAmicable, checks whether two numbers are amicable by comparing the sums of their proper divisors.
- The main part of the script tests the amicability of two numbers and prints the result.
π§ Understanding the Concept of Amicable Numbers
Amicable numbers exhibit a unique relationship where the sum of the proper divisors of each number is equal to the other number.
For example, the pair (220, 284) is amicable because the sum of divisors of 220 is 284, and the sum of divisors of 284 is 220.
π’ Optimizing the Program
While the provided program is effective, you may explore optimizations such as caching the results of the sum of divisors to enhance performance for repeated calculations.
Feel free to incorporate and modify this code as needed for your specific use case. Happy coding!
π¨βπ» Join our Community:
Author
For over eight years, I worked as a full-stack web developer. Now, I have chosen my profession as a full-time blogger at codetofun.com.
Buy me a coffee to make codetofun.com free for everyone.
Buy me a Coffee
If you have any doubts regarding this article (PHP Program to Check Amicable Number), please comment here. I will help you immediately.