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