mágikus szám a Java-ban

a programozásban a mágikus szám egy numerikus érték, amelyet közvetlenül a kódban használnak. Azonosítási célokra használják. Ebben a részben azt fogjuk megvitatni, hogy mi a mágikus szám, és hogyan találhatunk mágikus számot egy Java programon keresztül.

bűvös szám a programozásban

a bűvös szám egy kódolt numerikus érték (egyes esetekben szöveges érték) a kódban, amely később megváltozhat. Önkényesnek tűnik, nincs kontextusa vagy jelentése. Nehéz frissíteni. Például:

az ilyen konstans használata segíthet megkülönböztetni a fájlokat a sok más fájlformátum között. Például:

  • PDF fájlok kezdődik a mágikus szöveg % PDF – > Hex (25 50 44 46)
  • a PNG fájlok a varázslatos szöveggel kezdődnek %PNG – > Hex (25 50 4E 47)

miért kell elkerülni a mágikus számokat?

nem szabad használni a mágikus számokat a programozásban, mert ez egy anti-mintához vezet, ami megnehezíti a kód megértését és karbantartását. Elrejti a szándékot is, ezért kerülni kell a mágikus számok használatát. A kód változásai is keserűbbek.

ajánlott a konstans használata az értékek ábrázolására a mágikus számok használata helyett. Javítja a kód olvashatóságát és megkönnyíti a kód módosítását.

mágikus szám a matematikában

a matematikában, ha számjegyeinek összegét rekurzív módon számítják ki egyetlen számjegyig. Ha az egyetlen számjegy 1, akkor a számot mágikus számnak nevezzük. Nagyon hasonlít a boldog számhoz.

például a 325 mágikus szám, mert számjegyeinek összege (3+2+5) 10, majd ismét összegezzük az eredményt (1+0), ennek eredményeként egyetlen számjegyet (1) kapunk. Ezért a 325-ös szám mágikus szám.

néhány más mágikus szám 1234, 226, 10, 1, 37, 46, 55, 73, stb.

vegye figyelembe, hogy ha egy szám mágikus szám, akkor a szám összes lehetséges kombinációja is mágikus szám lesz.

például, 532, 253, 325, 235, 352, 523 az összes szám számjegyeinek összege 10-et ad, majd ismét összegzi az eredményt (1+0), egy számjegyet kapunk, azaz 1. Ezért azt mondhatjuk, hogy a mágikus szám és annak kombinációi is varázslatosak.

implementáljuk a fenti logikát egy Java Programban, és ellenőrizzük, hogy az adott szám mágikus-e vagy sem.

Java Mágikus Szám Program

MagicNumberExample1.java

kimenet 1:

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

kimenet 2:

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

lássunk egy másik logikát a mágikus szám ellenőrzéséhez.

MagicNumberExample2.java

kimenet 1:

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

2. kimenet:

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

Varázsszám vs boldog szám

az egyetlen különbség a varázsszám és a boldog szám között az, hogy egy varázsszámban rekurzívan összegezzük a szám összes számjegyét, amíg egy jeljegyet, azaz 1-et nem kapunk. Míg boldog szám, rekurzív módon kiszámítjuk a számjegyek négyzetének összegét, amíg egyetlen számjegyet nem kapunk 1. Ha ez a folyamat végtelen számú ciklust eredményez, amely 4-et tartalmaz, akkor a számot boldogtalan számnak nevezzük. Például ellenőriznünk kell, hogy a 19 mágikus és boldog szám-e vagy sem.

mágikus szám példa boldog szám példa
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

mindkét esetben 1-et kapunk. Ezért a 19-es szám egy mágikus szám és egy boldog szám is.

Leave a Reply