logo

Burvju numurs Java valodā

Programmēšanā a maģiskais skaitlis ir skaitliska vērtība, kas tiek tieši izmantota kodā. To izmanto identifikācijas nolūkos. Šajā sadaļā mēs apspriedīsim kas ir maģiskais skaitlis un kā mēs varam atrast burvju skaitli, izmantojot Java programmu.

Burvju numurs programmēšanā

A maģiskais skaitlis ir kodēta skaitliskā vērtība (dažos gadījumos teksta vērtība) kodā, kas vēlāk var mainīties. Tas šķiet patvaļīgi, un tam nav konteksta vai nozīmes. To ir grūti atjaunināt. Piemēram:

 const num = 74; //where 2 is hard-coded const number = num / 2; //it should be properly defined 

Šādas konstantes izmantošana var palīdzēt mums atšķirt failus starp daudziem citiem failu formātiem. Piemēram:

  • PDF faili sākas ar burvju tekstu %PDF -> Hex (25 50 44 46)
  • PNG faili sākas ar burvju tekstu %PNG -> Hex (25 50 4E 47)

Kāpēc vajadzētu izvairīties no burvju skaitļiem?

Programmēšanā nevajadzētu izmantot maģiskos skaitļus, jo tie rada pretrakstu, kas apgrūtina koda izpratni un uzturēšanu. Tas arī slēpj nodomu, tāpēc ir jāizvairās no burvju skaitļu izmantošanas. Koda izmaiņas ir arī rūgtākas.

masīva saraksta java šķirošana

Vērtību attēlošanai ieteicams izmantot konstanti, nevis izmantot maģiskos skaitļus. Tas uzlabo koda lasāmību un nodrošina vieglu koda modifikāciju.

Maģiskais skaitlis matemātikā

Matemātikā, ja tās ciparu summa rekursīvi tiek aprēķināts līdz vienam ciparam. Ja viens cipars ir 1, tad skaitli sauc par a maģiskais skaitlis . Tas ir diezgan līdzīgs laimīgs skaitlis .

Piemēram, 325 ir maģisks skaitlis, jo tā ciparu summa (3+2+5) ir 10, un, atkal summējot rezultātu (1+0), mēs iegūstam viencipara skaitli (1). Tādējādi skaitlis 325 ir maģisks skaitlis.

Daži citi maģiski skaitļi ir 1234, 226, 10, 1, 37, 46, 55, 73 utt .

izpildīt skripta čaulu

Ņemiet vērā, ka, ja skaitlis ir maģisks skaitlis, visas iespējamās skaitļu kombinācijas būs arī maģiski skaitļi.

Piemēram, 532, 253, 325, 235, 352, 523 visu skaitļu ciparu summa dod 10 un vēlreiz summējot rezultāto (1+0), iegūstam viencipara skaitli, t.i., 1. Līdz ar to varam teikt ka maģiskais skaitlis un tā kombinācijas arī ir maģiski.

Ieviesīsim iepriekš minēto loģiku Java programmā un pārbaudīsim, vai dotais skaitlis ir maģisks vai nē.

Linux komandas

Java burvju numuru programma

MagicNumberExample1.java

 import java.util.Scanner; public class MagicNumberExample1 { public static void main(String args[]) { int n, remainder = 1, number, sum = 0; //creating a constructor of the Scanner class Scanner sc = new Scanner(System.in); System.out.print('Enter a number you want to check: '); //reading an integer form the user n = sc.nextInt(); //assigning the entered number in the variable num number = n; //outer while loop while (number > 9) //while(number > 0 || sum > 9) { //inner while loop while (number > 0) { //determines the remainder remainder = number % 10; sum = sum + remainder; //divides the number by 10 and removes the last digit of the number number = number / 10; } number = sum; sum = 0; } if (number == 1) { System.out.println('The given number is a magic number.'); } else { System.out.println('The given number is not a magic number.'); } } } 

1. izvads:

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

2. izvads:

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

Apskatīsim citu loģiku, lai pārbaudītu maģisko numuru.

MagicNumberExample2.java

bash concatenate virknes
 import java.util.Scanner; public class MagicNumberExample2 { public static void main(String args[]) { Scanner scanner = new Scanner(System.in); System.out.print('Enter any number to check: '); //reading an iteger from the user int number = scanner.nextInt(); if(magicNumber(number)) System.out.println(number +' is a magic number.'); else System.out.println(number +' is not a magic number.'); } //user-defined method to check the number is magic or not public static boolean magicNumber(int number) { if( ((number - 1) % 9) == 0) return true; else return false; } } 

1. izvads:

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

2. izvads:

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

Maģiskais skaitlis pret laimīgo skaitli

Vienīgā atšķirība starp maģija cipari un laimīgs skaitļi ir tas, ka maģiskajā skaitļā mēs rekursīvi summējam visus skaitļa ciparus, līdz iegūstam signāla ciparu, t.i., 1. laimīgs skaitli, mēs rekursīvi aprēķinām ciparu kvadrāta summu, līdz iegūstam viencipara skaitli 1. Ja šī procesa rezultātā veidojas nebeidzams skaitļu cikls, kurā ir 4, tad skaitli sauc par nelaimīgs numuru. Piemēram, mums ir jāpārbauda 19 ir maģisks un laimīgs skaitlis vai nē.

Burvju skaitļu piemērs Laimīgā skaitļa piemērs
We have to check n = 19 1 + 9 = 10 1 + 0 = <strong>1</strong> 
We have to check n=19 1<sup>2</sup>+ 9<sup>2</sup> = 1 + 81 = 82 8<sup>2</sup>+ 2<sup>2</sup> = 64 + 4 = 68 6<sup>2</sup>+ 8<sup>2</sup> = 36 + 64 = 100 1<sup>2</sup>+ 0<sup>2</sup>+0<sup>2</sup> = 1 + 0 + 0 = <strong>1</strong> 

Abos gadījumos mēs saņemam 1 . Līdz ar to numurs 19 ir maģisks skaitlis un arī laimīgs skaitlis.