Javaのマジックナンバー
プログラミングでは、マジックナンバーはコード内で直接使用される数値です。 これは、識別の目的で使用されます。 このセクションでは、マジックナンバーとは何か、そしてJavaプログラムを通してマジックナンバーを見つける方法について説明します。
プログラミングにおけるマジックナンバー
マジックナンバーは、後の段階で変更される可能性のあるコード内のハードコードされた数値(場合によってはテキ それは任意のように思え、文脈や意味を持っていません。 更新するのは難しいです。 例えば:
このような定数を使用すると、他の多くのファイル形式の中でファイルを区別するのに役立ちます。 例えば:
- PDFファイルは魔法のテキスト%PDF->Hexで始まります(25 50 44 46)
- PNGファイルは魔法のテキストで始まります%PNG->Hex(25 50 4E47)
なぜ魔法の数字は避けるべきですか?
マジックナンバーをプログラミングに使うべきではありません。 また、マジックナンバーの使用は避けるべきであるので、意図を隠します。 コードの変更も難しくなります。
マジックナンバーを使用する代わりに、値を表すために定数を使用することをお勧めします。 これは、コードの可読性を向上させ、コード内の簡単な変更を提供します。数学におけるマジックナンバー
数学では、その桁の合計が1桁まで再帰的に計算される場合。 1桁の数字が1の場合、その数字はマジックナンバーと呼ばれます。 それは幸せな数に非常に似ています。
例えば、325はマジックナンバーなので、その数字の合計(3+2+5)は10であり、再び結果(1+0)を合計すると、結果として1桁(1)が得られます。 したがって、数325は魔法の数です。
その他のマジックナンバーは次のとおりです1234, 226, 10, 1, 37, 46, 55, 73, など。
数字がマジックナンバーであれば、数字の可能なすべての組み合わせもマジックナンバーになることに注意してください。例えば
, 532, 253, 325, 235, 352, 523 すべての数字の数字の合計は10を与え、再び結果(1+0)を合計すると、1桁、すなわち1が得られます。 したがって、魔法の数とその組み合わせも魔法であると言うことができます。
上記のロジックをJavaプログラムに実装し、指定された数が魔法であるかどうかを確認しましょう。
Javaマジックナンバープログラム
Magicnumberexample1.java
出力1:
Enter a number you want to check: 325The given number is a magic number.
出力2:
Enter a number you want to check: 891The given number is a magic number.
マジックナンバーを確認するための別のロジックを見てみましょう。
Magicnumberexample2.java
出力1:
Enter any number to check: 7373 is a magic number.
出力2:
Enter any number to check: 671671 is not a magic number.
マジックナンバーとハッピーナンバー
マジックナンバーとハッピーナンバーの唯一の違いは、マジックナンバーでは、シグナルディジット、つまり1が得られるまで、数字のすべての数字を再帰的に合計することです。 幸せな数では、一桁の1が得られるまで、桁の二乗の合計を再帰的に計算します。 このプロセスが4を含む数の無限のサイクルをもたらす場合、その数は不幸な数と呼ばれます。 たとえば、私たちは19が魔法と幸せな数かどうかを確認する必要があります。
マジックナンバーの例 | ハッピーナンバーの例 |
---|---|
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 |
どちらの場合も、1を取得します。 したがって、数19は魔法の数であり、幸せな数でもあります。
Leave a Reply