număr Magic în Java
în programare, un număr magic este o valoare numerică care este utilizată direct în cod. Este utilizat în scopuri de identificare. În această secțiune, vom discuta ce este un număr magic și cum putem găsi un număr magic printr-un program Java.
număr Magic în programare
un număr magic este o valoare numerică codificată (valoare text în unele cazuri) din cod care se poate schimba într-o etapă ulterioară. Pare arbitrar și nu are context sau sens. Este greu de actualizat. De exemplu:
utilizarea unei astfel de constante ne poate ajuta să distingem fișierele între multe alte formate de fișiere. De exemplu:
- fișierele PDF încep cu textul magic % PDF – > Hex (25 50 44 46)
- fișierele PNG încep cu textul magic % PNG -> Hex (25 50 4E 47)
de ce ar trebui să evite numerele magice?
nu ar trebui să folosim numerele magice în programare, deoarece duce la un anti-model care face codul dificil de înțeles și de întreținut. De asemenea, ascunde intenția, astfel încât utilizarea numerelor magice ar trebui evitată. Modificările Codului sunt, de asemenea, mai amare.
se recomandă utilizarea constantă pentru a reprezenta valori în loc de a folosi numere magice. Îmbunătățește lizibilitatea codului și oferă o modificare ușoară a codului.
număr Magic în matematică
în matematică, dacă suma cifrelor sale recursiv este calculată până la o singură cifră. Dacă o singură cifră este 1, atunci numărul se numește număr magic. Este destul de similar cu numărul fericit.
de exemplu, 325 este un număr magic, deoarece suma cifrelor sale (3+2+5) este 10 și, din nou, rezumați rezultatul (1+0), obținem o singură cifră (1) ca rezultat. Prin urmare, numărul 325 este un număr magic.
alte numere magice sunt 1234, 226, 10, 1, 37, 46, 55, 73, etc.
rețineți că, dacă un număr este un număr magic, atunci toate combinațiile posibile ale numărului vor fi, de asemenea, numerele magice.
de exemplu, 532, 253, 325, 235, 352, 523 suma cifrelor tuturor numerelor dă 10 și din nou însumează rezultatul (1+0), obținem o singură cifră adică 1. Prin urmare, putem spune că numărul magic și combinațiile sale sunt, de asemenea, magice.
să implementăm logica de mai sus într-un program Java și să verificăm dacă numărul dat este magic sau nu.
Programul Java Magic Number
MagicNumberExample1.java
ieșire 1:
Enter a number you want to check: 325The given number is a magic number.
ieșire 2:
Enter a number you want to check: 891The given number is a magic number.
să vedem o altă logică pentru a verifica numărul magic.
Numărul Magicexample2.java
ieșire 1:
Enter any number to check: 7373 is a magic number.
ieșire 2:
Enter any number to check: 671671 is not a magic number.
Numărul Magic vs Numărul fericit
singura diferență între numerele magice și numerele fericite este că într-un număr magic rezumăm toate cifrele numărului recursiv până când obținem o cifră de semnal, adică 1. În timp ce suntem în număr fericit, calculăm recursiv suma pătratului de cifre până când obținem o singură cifră 1. Dacă acest proces are ca rezultat un ciclu nesfârșit de numere care conțin 4, atunci numărul se numește număr nefericit. De exemplu, trebuie să verificăm 19 este numărul magic și fericit sau nu.
exemplu de număr Magic | exemplu de număr fericit |
---|---|
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 |
în ambele cazuri, obținem 1. Prin urmare, numărul 19 este un număr magic și, de asemenea, un număr fericit.
Leave a Reply