taikaluku Javassa
ohjelmoinnissa taikaluku on numeerinen arvo, jota käytetään suoraan koodissa. Sitä käytetään tunnistamiseen. Tässä osiossa keskustelemme siitä, mikä on maaginen numero ja miten löydämme maagisen numeron Java-ohjelman kautta.
taikaluku ohjelmoinnissa
taikaluku on koodissa oleva kovakoodattu numeerinen arvo (joissakin tapauksissa tekstin arvo), joka saattaa muuttua myöhemmässä vaiheessa. Se vaikuttaa mielivaltaiselta, eikä sillä ole asiayhteyttä tai merkitystä. Sitä on vaikea päivittää. Esimerkiksi:
tällaisen vakion käyttäminen voi auttaa meitä erottamaan tiedostot monien muiden tiedostomuotojen joukosta. Esimerkiksi:
- PDF-tiedostot alkavat taikatekstillä % PDF – > Hex (25 50 44 46)
- PNG-tiedostot alkavat taikatekstillä % PNG – > Hex (25 50 4E 47)
miksi magic numerot pitäisi välttää?
taikalukuja ei kannata käyttää ohjelmoinnissa, koska se johtaa antikuvioon, joka vaikeuttaa koodin ymmärtämistä ja ylläpitämistä. Se myös piilottaa aikomuksen, joten taikanumeroiden käyttöä tulisi välttää. Sääntömuutokset ovat myös kitkerämpiä.
on suositeltavaa käyttää vakiota arvojen esittämiseen taikalukujen sijaan. Se parantaa koodin luettavuutta ja mahdollistaa koodin helpon muokkaamisen.
maaginen luku matematiikassa
matematiikassa, jos sen numeroiden summa lasketaan rekursiivisesti yhteen numeroon asti. Jos yksittäinen numero on 1, niin numeroa kutsutaan taikaluvuksi. Se on melko samanlainen kuin onnellinen numero.
esimerkiksi 325 on maaginen luku, koska sen numeroiden summa (3+2+5) on 10, ja jälleen summata tulos (1 + 0), saamme yhden numeron (1) tuloksena. Luku 325 on siis maaginen luku.
joitakin muita taikalukuja ovat 1234, 226, 10, 1, 37, 46, 55, 73, jne.
huomaa, että jos luku on taikaluku, niin myös kaikki luvun mahdolliset yhdistelmät ovat taikalukuja.
esimerkiksi, 532, 253, 325, 235, 352, 523 summa numeroa kaikki numerot Antaa 10 ja jälleen summa jopa tulos (1 + 0), saamme yhden numeron eli 1. Näin ollen voidaan sanoa, että myös taikaluku ja sen yhdistelmät ovat taikuutta.
toteutetaan yllä oleva logiikka Java-ohjelmassa ja tarkistetaan, onko annettu numero taikaa vai ei.
Java Magic Number Program
MagicNumberExample1.java
lähtö 1:
Enter a number you want to check: 325The given number is a magic number.
tuloste 2:
Enter a number you want to check: 891The given number is a magic number.
Katsotaan toinen logiikka tarkistaa maaginen numero.
MagicNumberExample2.java
lähtö 1:
Enter any number to check: 7373 is a magic number.
lähtö 2:
Enter any number to check: 671671 is not a magic number.
taikaluku vs onnellinen luku
ainoa ero taikalukujen ja onnellisten lukujen välillä on se, että taikaluvussa summaamme luvun kaikki numerot rekursiivisesti, kunnes saamme signaalinumeron eli 1. Vaikka onnellinen numero, me rekursiivisesti laskea summa neliön numeroa, kunnes saamme yhden numeron 1. Jos tämä prosessi johtaa päättymättömään jaksoon lukuja, jotka sisältävät 4, niin lukua kutsutaan onnettomaksi luvuksi. Esimerkiksi, meidän täytyy tarkistaa 19 on maaginen ja onnellinen numero tai ei.
Magic Number Example | Happy Number Example |
---|---|
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 |
molemmissa tapauksissa saamme 1. Luku 19 on siis maaginen luku ja myös onnellinen luku.
Leave a Reply