Se dice que un número es un número mágico, si la suma de sus dígitos se calcula recursivamente hasta un solo dígito sumando la suma de los dígitos después de cada adición. Si el dígito único resulta ser 1, entonces el número es un número mágico.
Por ejemplo-
Número= 50113
=> 5+0+1+1+3=10
=> 1+0=1
Este es un Número Mágico
Por ejemplo-
Número= 1234
=> 1+2+3+4=10
=> 1+0=1
Este es un Número Mágico
Ejemplos:
Input : 1234 Output : Magic Number Input : 12345 Output : Not a magic Number
El enfoque utilizó la fuerza bruta. La función sigue sumando dígitos hasta que se alcanza una suma de un solo dígito. Para entender cómo estoy calculando la suma hasta un solo dígito, vea esta página: encontrar la suma de los dígitos de un número hasta que la suma se convierta en un solo dígito
C++
// CPP program to check if a number is Magic // number. #include<iostream> using namespace std; bool isMagic(int n) { int sum = 0; // Note that the loop continues // if n is 0 and sum is non-zero. // It stops when n becomes 0 and // sum becomes single digit. while (n > 0 || sum > 9) { if (n == 0) { n = sum; sum = 0; } sum += n % 10; n /= 10; } // Return true if sum becomes 1. return (sum == 1); } // Driver code int main() { int n = 1234; if (isMagic(n)) cout << "Magic Number"; else cout << "Not a magic Number"; return 0; }
Java
// Java program to check if // a number is Magic number. class GFG { public static boolean isMagic(int n) { int sum = 0; // Note that the loop continues // if n is 0 and sum is non-zero. // It stops when n becomes 0 and // sum becomes single digit. while (n > 0 || sum > 9) { if (n == 0) { n = sum; sum = 0; } sum += n % 10; n /= 10; } // Return true if sum becomes 1. return (sum == 1); } // Driver code public static void main(String args[]) { int n = 1234; if (isMagic(n)) System.out.println("Magic Number"); else System.out.println("Not a magic Number"); } } // This code is contributed by Anshika Goyal.
Python3
# Python3 program to check # if a number is Magic # number. def isMagic(n): sum = 0; # Note that the loop # continues if n is 0 # and sum is non-zero. # It stops when n becomes # 0 and sum becomes single # digit. while (n > 0 or sum > 9): if (n == 0): n = sum; sum = 0; sum = sum + n % 10; n = int(n / 10); # Return true if # sum becomes 1. return True if (sum == 1) else False; # Driver code n = 1234; if (isMagic(n)): print("Magic Number"); else: print("Not a magic Number"); # This code is contributed # by mits.
C#
// C# program to check if // a number is Magic number. using System; class GFG { public static bool isMagic(int n) { int sum = 0; // Note that the loop continues // if n is 0 and sum is non-zero. // It stops when n becomes 0 and // sum becomes single digit. while (n > 0 || sum > 9) { if (n == 0) { n = sum; sum = 0; } sum += n % 10; n /= 10; } // Return true if sum becomes 1. return (sum == 1); } // Driver code public static void Main() { int n = 1234; if (isMagic(n)) Console.WriteLine("Magic Number"); else Console.WriteLine("Not a magic Number"); } } // This code is contributed by vt_m.
PHP
<?php // PHP program to check if // a number is Magic number. function isMagic($n) { $sum = 0; // Note that the loop // continues if n is 0 // and sum is non-zero. // It stops when n becomes // 0 and sum becomes single // digit. while ($n > 0 || $sum > 9) { if ($n == 0) { $n = $sum; $sum = 0; } $sum += $n % 10; $n /= 10; } // Return true if // sum becomes 1. return ($sum == 1); } // Driver code $n = 1234; if (isMagic($n)) echo"Magic Number"; else echo "Not a magic Number"; // This code is contributed // by nitin mittal. ?>
Javascript
<script> // JavaScript program to check if // a number is Magic number. function isMagic( n) { var sum = 0; // Note that the loop continues // if n is 0 and sum is non-zero. // It stops when n becomes 0 and // sum becomes single digit. while (n > 0 || sum > 9) { if (n = 0) { n = sum; sum = 0; } sum += n % 10; n /= 10; } // Return true if sum becomes 1. return (sum = 1); } // Driver code var n = 1234; if (isMagic(n)) document.write("Magic Number"); else document.write("Not a magic Number"); // This code is contributed by shivanisinghss2110 </script>
Magic Number
Enfoque eficiente (acceso directo): también hay un método abreviado para verificar el número mágico. La función determinará si el resto de dividir la entrada por 9 es 1 o no. Si es 1, entonces el número es un número mágico. La regla de divisibilidad del 9 dice que un número es divisible por 9 si la suma de sus dígitos también es divisible por 9. Por lo tanto, si un número es divisible por 9, entonces, recursivamente, todas las sumas de dígitos también son divisibles por 9. El la suma del dígito final siempre es 9. Un aumento de 1 en el número original aumentará el valor final en 1, convirtiéndolo en 10 y la suma final será 1, verificando así que es un número mágico.
C++
// C++ program to check // Whether the number is Magic or not. #include <iostream> using namespace std; int main() { // Accepting sample input int x = 1234; // Condition to check Magic number if(x%9==1) cout << ("Magic Number"); else cout << ("Not a Magic Number"); return 0; }
C
// C program to check // Whether the number is Magic or not. #include <stdio.h> int main() { // Accepting sample input int x = 1234; // Condition to check Magic number if(x%9==1) printf("Magic Number"); else printf("Not a Magic Number"); return 0; }
Java
// Java program to check // Whether the number is Magic or not. class GFG{ public static void main(String[] args) { // Accepting sample input int x = 1234; // Condition to check Magic number if (x % 9 == 1) System.out.printf("Magic Number"); else System.out.printf("Not a Magic Number"); } } // This code is contributed by Amit Katiyar
Python3
# Python3 program to check # Whether the number is Magic or not. # Accepting sample input x = 1234 # Condition to check Magic number if (x % 9 == 1): print("Magic Number") else: print("Not a Magic Number") # This code is contributed by kirti
C#
// C# program to check // Whether the number is Magic or not. using System; using System.Collections.Generic; class GFG{ public static void Main(String[] args) { // Accepting sample input int x = 1234; // Condition to check Magic number if (x % 9 == 1) Console.Write("Magic Number"); else Console.Write("Not a Magic Number"); } } // This code is contributed by Princi Singh
Javascript
<script> // JavaScript program to check // Whether the number is Magic or not. // Accepting sample input var x = 1234; // Condition to check Magic number if (x % 9 == 1) document.write("Magic Number"); else document.write("Not a Magic Number"); // This code is contributed by shivanisinghss2110 </script>
Magic Number
Este artículo es una contribución de Ayush Saxena . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a contribuido@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA