How to display all the perfect numbers below 10000 in PHP

2 Answers

0 votes
function isPerfectNumber($number)
{
    $sum = 0;
    for ($i = 2; $i <= sqrt($number); $i++)
    {
        if (!($number % $i))
        {
            $sum += $i;
            if ($i <> $number / $i)
                $sum += $number / $i;
        }
    }
    return ++$sum == $number;
}

for ($i = 1; $i < 10000; $i++)
      if (isPerfectNumber($i))
            echo $i . '<br />';        
 

 
/*
run: 
  
1
6
28
496
8128
  
*/   

 



answered Sep 4, 2017 by avibootz
0 votes
function isPerfectNumber($n)
{
    $i = 1;
    $sum = 0;
      
    while ($i < $n)
    {
        if ($n % $i == 0)
        {
            $sum = $sum + $i;
        }
        $i++;
    }
    return $sum == $n;
}

for ($i = 1; $i < 10000; $i++)
      if (isPerfectNumber($i))
            echo $i . '<br />';        
 

 
/*
run: 
  
6
28
496
8128
  
*/ 

 



answered Sep 4, 2017 by avibootz
...