PHP |检查一个数字是否是完美数字

如果一个完美数等于它的因子之和,那么它就是一个数。也就是说,原始数等于它的所有因子之和,不包括这个数本身。我们已经讨论过如何检查一个数字是否完美 文章在本文中,我们将讨论如何在PHP中实现同样的功能。

null

例如:

Input : 6
Output : Perfect Number
Explanation: factors of 6 are 1, 2, 3, 6
             sum of its factors (excluding the 
             number itself) = 1 + 2 + 3 = 6 

Input : 24
Output : Not Perfect Number
Explanation : factors of 24 are 1,2,3,4,6,8,12,24 
              sum of its factors(excluding the 
              number itself) = 1 + 2 + 3 + 4  
                                + 6 + 8 + 12 = 36

我们将遍历[1,N]范围内的每个数字,检查它是否是给定数字N的一个因子。如果它是一个因子,我们将把这个数字添加到变量$sum中。最后,如果变量$sum等于原始数字,那么给定的数字就是一个完美数。

以下是上述理念在PHP中的实现:

<?php
// Function to check if a number is perfect
function isPerfectNumber( $N )
{
// To store the sum
$sum = 0;
// Traversing through each number
// In the range [1,N)
for ( $i = 1; $i < $N ; $i ++)
{
if ( $N % $i == 0)
{
$sum = $sum + $i ;
}
}
// returns True is sum is equal
// to the original number.
return $sum == $N ;
}
// Driver's code
$N = 6;
if (isPerfectNumber( $N ))
echo " Perfect Number" ;
else
echo "Not  Perfect Number" ;
?>


输出:

Perfect Number
© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享