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