PHP | Comprobar si un número es número perfecto

Un número perfecto es un número si es igual a la suma de sus factores, es decir, el número original es igual a la suma de todos sus factores excluyendo el número en sí. Ya hemos discutido cómo verificar si un número es perfecto o no en este artículo. En este artículo discutiremos cómo hacer lo mismo en PHP.

Ejemplos:

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

La idea de esto es que recorreremos cada número en el rango [1,N) y verificaremos si es un factor del número dado N. Si es un factor, agregaremos este número a una variable $sum. Al final, la variable $suma es igual al número original, entonces el número dado es un número perfecto.

A continuación se muestra la implementación de la idea anterior en 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";
?>

Producción:

Perfect Number

Publicación traducida automáticamente

Artículo escrito por akash7981 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *