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