Magic Number in Java
Nella programmazione, un numero magico è un valore numerico che viene utilizzato direttamente nel codice. È usato per scopi di identificazione. In questa sezione, discuteremo che cosa è un numero magico e come possiamo trovare un numero magico attraverso un programma Java.
Numero magico in programmazione
Un numero magico è un valore numerico hard-coded (valore di testo in alcuni casi) nel codice che può cambiare in una fase successiva. Sembra arbitrario e non ha contesto o significato. È difficile da aggiornare. Biru:
L’utilizzo di tale costante può aiutarci a distinguere i file tra i molti altri formati di file. Ad esempio:
- I file PDF iniziano con il testo magico % PDF- > Hex (25 50 44 46)
- I file PNG iniziano con il testo magico % PNG – > Hex (25 50 4E 47)
Perché i numeri magici dovrebbero evitare?
Non dovremmo usare i numeri magici nella programmazione perché porta a un anti-pattern che rende il codice difficile da capire e mantenere. Nasconde anche l’intenzione, quindi l’uso di numeri magici dovrebbe essere evitato. Anche i cambiamenti nel codice sono più duri.
Si consiglia di utilizzare la costante per rappresentare i valori invece di utilizzare numeri magici. Migliora la leggibilità del codice e fornisce una facile modifica del codice.
Numero magico in matematica
In matematica, se la somma delle sue cifre ricorsivamente viene calcolata fino a una singola cifra. Se la singola cifra è 1, il numero viene chiamato un numero magico. È abbastanza simile al numero felice.
Ad esempio, 325 è un numero magico perché la somma delle sue cifre (3+2+5) è 10, e di nuovo riassumere il risultante (1+0), otteniamo una singola cifra (1) come risultato. Quindi, il numero 325 è un numero magico.
Alcuni altri numeri magici sono 1234, 226, 10, 1, 37, 46, 55, 73, ecc.
Si noti che se un numero è un numero magico, tutte le possibili combinazioni del numero saranno anche i numeri magici.
Per esempio, 532, 253, 325, 235, 352, 523 la somma delle cifre di tutti i numeri dà 10 e di nuovo somma il risultante (1 + 0), otteniamo una singola cifra cioè 1. Quindi, possiamo dire che anche il numero magico e le sue combinazioni sono magiche.
Implementiamo la logica di cui sopra in un programma Java e controlliamo se il numero dato è magico o meno.
Java Magic Number Program
MagicNumberExample1.java
Uscita 1:
Enter a number you want to check: 325The given number is a magic number.
Uscita 2:
Enter a number you want to check: 891The given number is a magic number.
Vediamo un’altra logica per controllare il numero magico.
MagicNumberExample2.java
Uscita 1:
Enter any number to check: 7373 is a magic number.
Uscita 2:
Enter any number to check: 671671 is not a magic number.
Numero magico vs Numero felice
L’unica differenza tra numeri magici e numeri felici è che in un numero magico riassumiamo tutte le cifre del numero in modo ricorsivo fino a ottenere una cifra di segnale cioè 1. Mentre in numero felice, calcoliamo ricorsivamente la somma del quadrato di cifre fino a ottenere una singola cifra 1. Se questo processo si traduce in un ciclo infinito di numeri contenenti 4, il numero viene chiamato un numero infelice. Ad esempio, dobbiamo controllare 19 è il numero magico e felice o no.
Esempio di numero magico | Esempio di numero felice |
---|---|
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 |
In entrambi i casi, otteniamo 1. Quindi, il numero 19 è un numero magico e anche un numero felice.
Leave a Reply