Magic Number in Java
i programmering är ett magiskt tal Ett numeriskt värde som används direkt i koden. Den används för identifieringsändamål. I det här avsnittet kommer vi att diskutera vad som är ett magiskt nummer och hur kan vi hitta ett magiskt nummer genom ett Java-program.
magiskt tal i programmering
ett magiskt tal är ett hårdkodat numeriskt värde (textvärde i vissa fall) i koden som kan ändras i ett senare skede. Det verkar som godtyckligt och har inget sammanhang eller mening. Det är svårt att uppdatera. Exempelvis:
att använda en sådan konstant kan hjälpa oss att skilja filerna bland de många andra filformaten. Till exempel:
- PDF-filer börjar med den magiska texten % PDF- > Hex (25 50 44 46)
- PNG-filer börjar med den magiska texten %PNG – > Hex (25 50 4E 47)
varför magiska siffror bör undvika?
vi bör inte använda de magiska siffrorna i programmering eftersom det leder till ett antimönster som gör koden svår att förstå och underhålla. Det döljer också avsikten så att användningen av magiska nummer bör undvikas. Ändringarna i koden är också bittra hårdare.
det rekommenderas att använda konstant för att representera värden istället för att använda magiska tal. Det förbättrar läsbarheten av koden och ger enkel ändring i koden.
magiskt tal i matematik
i matematik, om summan av dess siffror rekursivt beräknas till en enda siffra. Om den enda siffran är 1 kallas numret ett magiskt nummer. Det är ganska likt det lyckliga numret.
till exempel är 325 ett magiskt tal eftersom summan av dess siffror (3+2+5) är 10, och summerar igen den resulterande (1 + 0), vi får en enda siffra (1) som resultat. Därför är siffran 325 ett magiskt nummer.
några andra magiska nummer är 1234, 226, 10, 1, 37, 46, 55, 73, osv.
Observera att om ett tal är ett magiskt tal kommer alla möjliga kombinationer av numret också att vara de magiska siffrorna.
till exempel, 532, 253, 325, 235, 352, 523 summan av siffrorna i alla siffror ger 10 och summerar igen den resulterande (1 + 0), vi får en ensiffrig dvs 1. Därför kan vi säga att det magiska numret och dess kombinationer också är magiska.
låt oss implementera ovanstående logik i ett Java-program och kontrollera om det angivna numret är magiskt eller inte.
Java Magiska Nummer Program
MagicNumberExample1.java
Utgång 1:
Enter a number you want to check: 325The given number is a magic number.
utgång 2:
Enter a number you want to check: 891The given number is a magic number.
Låt oss se en annan logik för att kontrollera det magiska numret.
MagicNumberExample2.java
Utgång 1:
Enter any number to check: 7373 is a magic number.
utgång 2:
Enter any number to check: 671671 is not a magic number.
Magic Number vs Happy Number
den enda skillnaden mellan magic numbers och happy numbers är att vi i ett magic number sammanfattar alla siffror i numret rekursivt tills vi får en signalsiffra dvs 1. Medan vi är i lyckligt nummer beräknar vi rekursivt summan av kvadraten av siffror tills vi får en enda siffra 1. Om denna process resulterar i en oändlig cykel med siffror som innehåller 4, kallas numret ett olyckligt nummer. Till exempel måste vi kolla 19 är magiskt och lyckligt nummer eller inte.
magiskt tal exempel | lyckligt tal exempel |
---|---|
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 |
i båda fallen får vi 1. Därför är siffran 19 ett magiskt nummer och också ett lyckligt nummer.
Leave a Reply