magické číslo v Javě
v programování je magické číslo číselná hodnota, která se používá přímo v kódu. Používá se pro účely identifikace. V této části budeme diskutovat o tom, co je magické číslo a jak můžeme najít magické číslo prostřednictvím programu Java.
magické číslo v programování
magické číslo je pevně kódovaná číselná hodnota (v některých případech textová hodnota) v kódu, která se může později změnit. Vypadá to jako svévolné a nemá žádný kontext Ani význam. Je těžké aktualizovat. Příklad:
použití takové konstanty nám může pomoci rozlišit soubory mezi mnoha dalšími formáty souborů. Například:
- soubory PDF začínají magickým textem %PDF – > Hex (25 50 44 46)
- PNG soubory začínají magickým textem %PNG – > Hex (25 50 4E 47)
proč by se magická čísla měla vyhnout?
neměli bychom používat magická čísla v programování, protože to vede k anti-vzoru, který ztěžuje pochopení a údržbu kódu. Skrývá také záměr, takže je třeba se vyhnout použití magických čísel. Změny v kodexu jsou také hořké těžší.
doporučuje se použít konstantu k reprezentaci hodnot namísto použití magických čísel. Zlepšuje čitelnost kódu a umožňuje snadnou úpravu kódu.
magické číslo v matematice
v matematice, pokud je součet jeho číslic rekurzivně vypočítán do jedné číslice. Pokud je jedna číslice 1, pak se číslo nazývá magické číslo. Je to docela podobné šťastnému číslu.
například 325 je magické číslo, protože součet jeho číslic (3+2+5) je 10, A opět shrnout výsledný (1+0), dostaneme jednu číslici (1) jako výsledek. Číslo 325 je tedy magické číslo.
některá další magická čísla jsou 1234, 226, 10, 1, 37, 46, 55, 73, atd.
Všimněte si, že pokud je číslo magické číslo, pak všechny možné kombinace čísla budou také magická čísla.
například, 532, 253, 325, 235, 352, 523 součet číslic všech čísel dává 10 a znovu shrnout výsledný (1+0), dostaneme jednociferný tj. 1. Proto můžeme říci, že magické číslo a jeho kombinace jsou také magické.
implementujeme výše uvedenou logiku do programu Java a zkontrolujeme, zda je dané číslo magické nebo ne.
Program Java Magic Number
MagicNumberExample1.java
výstup 1:
Enter a number you want to check: 325The given number is a magic number.
výstup 2:
Enter a number you want to check: 891The given number is a magic number.
podívejme se na další logiku pro kontrolu magického čísla.
MagicNumberExample2.java
výstup 1:
Enter any number to check: 7373 is a magic number.
výstup 2:
Enter any number to check: 671671 is not a magic number.
magické číslo vs šťastné číslo
jediný rozdíl mezi magickými čísly a šťastnými čísly je, že v magickém čísle shrneme všechny číslice čísla rekurzivně, dokud nezískáme signální číslici, tj. Zatímco ve šťastném čísle rekurzivně vypočítáme součet čtverců číslic, dokud nezískáme jednu číslici 1. Pokud tento proces vede k nekonečnému cyklu čísel obsahujících 4, pak se číslo nazývá nešťastné číslo. Například musíme zkontrolovat 19 je magické a šťastné číslo nebo ne.
příklad magického čísla | příklad Šťastného čísla |
---|---|
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 |
v obou případech dostaneme 1. Číslo 19 je tedy magické číslo a také šťastné číslo.
Leave a Reply