Magiczna liczba w Javie

w programowaniu magiczna liczba jest wartością liczbową, która jest używana bezpośrednio w kodzie. Służy do celów identyfikacyjnych. W tej sekcji omówimy, czym jest magiczna liczba i jak możemy znaleźć magiczną liczbę za pomocą programu Java.

Liczba Magiczna w programowaniu

liczba magiczna to zakodowana na stałe wartość liczbowa (w niektórych przypadkach wartość tekstowa) w kodzie, która może ulec zmianie w późniejszym etapie. Wydaje się arbitralny i nie ma kontekstu ani znaczenia. Trudno to zaktualizować. Na przykład:

używanie takiej stałej może pomóc nam odróżnić pliki od wielu innych formatów plików. Na przykład:

  • pliki PDF zaczynają się od magicznego tekstu % PDF -> Hex (25 50 44 46)
  • pliki PNG zaczynają się od magicznego tekstu % PNG -> Hex (25 50 4e 47)

dlaczego magiczne liczby powinny unikać?

nie powinniśmy używać magicznych liczb w programowaniu, ponieważ prowadzi to do anty-wzorca, który sprawia, że kod jest trudny do zrozumienia i utrzymania. Ukrywa również intencję, więc należy unikać używania magicznych liczb. Zmiany w kodzie są również gorzkie.

zaleca się używanie stałej do reprezentowania wartości zamiast liczb magicznych. Poprawia czytelność kodu i zapewnia łatwą modyfikację w kodzie.

Liczba Magiczna w matematyce

w matematyce, jeśli suma jej cyfr jest obliczana rekurencyjnie do jednej cyfry. Jeśli pojedyncza cyfra wynosi 1, to liczba jest nazywana liczbą magiczną. Jest bardzo podobny do szczęśliwej liczby.

na przykład 325 jest liczbą magiczną, ponieważ suma jej cyfr (3+2+5) wynosi 10 i ponownie sumujemy wynik (1+0), otrzymujemy jedną cyfrę (1) jako wynik. Stąd liczba 325 jest liczbą magiczną.

niektóre inne magiczne liczby to 1234, 226, 10, 1, 37, 46, 55, 73, itd.

zauważ, że jeśli liczba jest liczbą magiczną, to wszystkie możliwe kombinacje liczby będą również liczbami magicznymi.

na przykład, 532, 253, 325, 235, 352, 523 suma cyfr wszystkich liczb daje 10 i ponownie sumujemy wynik (1+0), otrzymujemy jednocyfrową czyli 1. Stąd możemy powiedzieć, że liczba magiczna i jej kombinacje są również magiczne.

zaimplementujmy powyższą logikę w programie Java i sprawdźmy czy podany numer jest magiczny czy nie.

Java Magic Number Program

MagicNumberExample1.Java

1:

Enter a number you want to check: 325The given number is a magic number.

Wyjście 2:

Enter a number you want to check: 891The given number is a magic number.

zobaczmy inną logikę, aby sprawdzić magiczną liczbę.

MagicNumberExample2.Java

1:

Enter any number to check: 7373 is a magic number.

Wyjście 2:

Enter any number to check: 671671 is not a magic number.

Magiczna liczba vs szczęśliwa liczba

jedyną różnicą między magicznymi liczbami a szczęśliwymi liczbami jest to, że w magicznej liczbie sumujemy wszystkie cyfry liczby rekurencyjnie, aż otrzymamy cyfrę sygnałową tj. Podczas gdy w szczęśliwej liczbie, rekurencyjnie obliczamy sumę kwadratu cyfr, aż otrzymamy pojedynczą cyfrę 1. Jeśli w wyniku tego procesu powstanie nieskończony cykl liczb zawierający 4, to liczba ta nazywana jest liczbą nieszczęśliwą. Na przykład, musimy sprawdzić, czy 19 jest magiczna i szczęśliwa liczba, czy nie.

przykład liczby magicznej przykład liczby szczęśliwej
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

w obu przypadkach otrzymujemy 1. Stąd Liczba 19 jest liczbą magiczną, a także szczęśliwą.

Leave a Reply