Java programma, lai pārbaudītu Ārmstronga numuru

Šajā programmā jūs iemācīsities pārbaudīt, vai dotais skaitlis ir vai nav stingrs skaitlis. Jūs iemācīsities to izdarīt, izmantojot Java cilni for un loop.

Lai saprastu šo piemēru, jums jāpārzina šādas Java programmēšanas tēmas:

  • Java kamēr un dari … kamēr Loop
  • Java, ja … cits paziņojums
  • Java lokam

Pozitīvu veselu skaitli sauc par Ārmstronga kārtas numuru n, ja

abcd… = a n + b n + c n + d n +…

Ārmstronga 3 ciparu gadījumā katra cipara kubu summa ir vienāda ar pašu skaitli. Piemēram:

 153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 ir Ārmstronga skaitlis. 

1. piemērs: Pārbaudiet, vai Armstrongam ir 3 cipari

 public class Armstrong ( public static void main(String() args) ( int number = 371, originalNumber, remainder, result = 0; originalNumber = number; while (originalNumber != 0) ( remainder = originalNumber % 10; result += Math.pow(remainder, 3); originalNumber /= 10; ) if(result == number) System.out.println(number + " is an Armstrong number."); else System.out.println(number + " is not an Armstrong number."); ) )

Rezultāts

 371 ir Ārmstronga numurs.
  • Pirmkārt, norādītā skaitļa (skaitļa) vērtība tiek saglabāta citā vesela skaitļa mainīgajā - originalNumber. Tas ir tāpēc, ka mums jāsalīdzina gala skaitļa un sākotnējā numura vērtības beigās.
  • Pēc tam, kamēr cilpa tiek izmantota, lai cilpa izietu caur OriginalNumber, līdz tā ir vienāda ar 0.
    • Katrā atkārtojumā atlikušais ciparu cipars tiek saglabāts.
    • Pēc tam atlikumu darbina 3 (ciparu skaits), izmantojot Math.pow()funkciju, un tie tiek pievienoti rezultātam.
    • Pēc tam pēdējais cipars tiek noņemts no sākotnējā numura pēc dalīšanas ar 10.
  • Visbeidzot tiek salīdzināts rezultāts un skaits. Ja tas ir vienāds, tas ir Ārmstronga skaitlis. Ja nē, tas tā nav.

2. piemērs: Pārbaudiet Ārmstronga numuru, vai nav n ciparu

 public class Armstrong ( public static void main(String() args) ( int number = 1634, originalNumber, remainder, result = 0, n = 0; originalNumber = number; for (;originalNumber != 0; originalNumber /= 10, ++n); originalNumber = number; for (;originalNumber != 0; originalNumber /= 10) ( remainder = originalNumber % 10; result += Math.pow(remainder, n); ) if(result == number) System.out.println(number + " is an Armstrong number."); else System.out.println(number + " is not an Armstrong number."); ) )

Rezultāts

 1634. gads ir Ārmstronga numurs.

Šajā programmā tā vietā, lai izmantotu while loop, mēs esam izmantojuši divus cilpām.

Pirmo cilpu izmanto skaitļu skaitīšanas skaitam. Tā ir saīsināta forma:

 par (; originalNumber! = 0; originalNumber / = 10) (n ++;)

Pēc tam otrais ciklam aprēķina rezultātu, kur katrā atkārtojumā atlikušo daļu darbina ciparu skaits n.

Apmeklējiet šo lapu, lai uzzinātu, kā jūs varat parādīt visus patstāvīgos skaitļus starp diviem intervāliem.

Interesanti raksti...