Magische Zahl in Java

In der Programmierung ist eine magische Zahl ein numerischer Wert, der direkt im Code verwendet wird. Es wird zu Identifikationszwecken verwendet. In diesem Abschnitt werden wir diskutieren, was eine magische Zahl ist und wie wir eine magische Zahl durch ein Java-Programm finden können.

Magische Zahl in der Programmierung

Eine magische Zahl ist ein fest codierter numerischer Wert (in einigen Fällen Textwert) im Code, der sich zu einem späteren Zeitpunkt ändern kann. Es scheint willkürlich und hat keinen Kontext oder Bedeutung. Es ist schwer zu aktualisieren. Beispielsweise:

Die Verwendung einer solchen Konstante kann uns helfen, die Dateien unter den vielen anderen Dateiformaten zu unterscheiden. Zum Beispiel:

  • PDF-Dateien beginnen mit dem magischen Text %PDF -> Hex (25 50 44 46)
  • PNG-Dateien beginnen mit dem magischen Text %PNG -> Hex (25 50 4E 47)

Warum sollten magische Zahlen vermieden werden?

Wir sollten die magischen Zahlen bei der Programmierung nicht verwenden, da dies zu einem Anti-Pattern führt, das das Verständnis und die Wartung des Codes erschwert. Es verbirgt auch die Absicht, so dass die Verwendung von magischen Zahlen vermieden werden sollte. Die Änderungen im Code sind auch bitterer.

Es wird empfohlen, constant zur Darstellung von Werten anstelle von magischen Zahlen zu verwenden. Es verbessert die Lesbarkeit von Code und bietet eine einfache Änderung im Code.

Magische Zahl in der Mathematik

In der Mathematik, wenn die Summe ihrer Ziffern rekursiv bis zu einer einzigen Ziffer berechnet wird. Wenn die einzelne Ziffer 1 ist, wird die Zahl als magische Zahl bezeichnet. Es ist der glücklichen Zahl ziemlich ähnlich.

Zum Beispiel ist 325 eine magische Zahl, weil die Summe ihrer Ziffern (3+2+5 ) ist 10, und wieder summieren die resultierende (1+0), erhalten wir eine einzelne Ziffer (1) als Ergebnis. Daher ist die Zahl 325 eine magische Zahl.

Einige andere magische Zahlen sind 1234, 226, 10, 1, 37, 46, 55, 73, etc.

Beachten Sie, dass, wenn eine Zahl eine magische Zahl ist, alle möglichen Kombinationen der Zahl auch die magischen Zahlen sind.

Zum Beispiel, 532, 253, 325, 235, 352, 523 die Summe der Ziffern aller Zahlen ergibt 10 und summiert erneut die resultierende (1+0), wir erhalten eine einstellige Zahl, d. H. 1. Daher können wir sagen, dass die magische Zahl und ihre Kombinationen auch Magie sind.

Implementieren wir die obige Logik in einem Java-Programm und prüfen, ob die angegebene Zahl magisch ist oder nicht.

Java Magische Zahl Programm

MagicNumberExample1.java

Ausgabe 1:

Enter a number you want to check: 325The given number is a magic number.

Ausgang 2:

Enter a number you want to check: 891The given number is a magic number.

Sehen wir uns eine andere Logik an, um die magische Zahl zu überprüfen.

MagicNumberExample2.java

Ausgabe 1:

Enter any number to check: 7373 is a magic number.

Ausgang 2:

Enter any number to check: 671671 is not a magic number.

Magische Zahl vs glückliche Zahl

Der einzige Unterschied zwischen magischen Zahlen und glücklichen Zahlen besteht darin, dass wir in einer magischen Zahl alle Ziffern der Zahl rekursiv zusammenfassen, bis wir eine Signalziffer erhalten, dh 1. In happy number berechnen wir rekursiv die Summe des Quadrats der Ziffern, bis wir eine einzelne Ziffer 1 erhalten. Wenn dieser Prozess zu einem endlosen Zyklus von Zahlen führt, die 4 enthalten, wird die Zahl als unglückliche Zahl bezeichnet. Zum Beispiel müssen wir überprüfen, ob 19 eine magische und glückliche Zahl ist oder nicht.

Beispiel für magische Zahlen Beispiel für glückliche Zahlen
We have to check n = 191 + 9 = 101 + 0 = 1
We have to check n=1912+ 92 = 1 + 81 = 8282+ 22 = 64 + 4 = 6862+ 82 = 36 + 64 = 10012+ 02+02 = 1 + 0 + 0 = 1

In beiden Fällen erhalten wir 1. Daher ist die Zahl 19 eine magische Zahl und auch eine glückliche Zahl.

Leave a Reply