Program Java pentru verificarea numărului Armstrong

În acest program, veți învăța să verificați dacă un anumit număr este sau nu numărul Armstrong. Veți învăța să faceți acest lucru folosind o buclă for și o buclă while în Java.

Pentru a înțelege acest exemplu, ar trebui să aveți cunoștințele despre următoarele subiecte de programare Java:

  • Java while și do … while Buclă
  • Java dacă … altfel Declarație
  • Java pentru buclă

Un număr întreg pozitiv se numește un număr Armstrong de ordinul n dacă

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

În cazul unui număr Armstrong de 3 cifre, suma cuburilor fiecărei cifre este egală cu numărul în sine. De exemplu:

 153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 este un număr Armstrong. 

Exemplul 1: Verificați numărul Armstrong pentru un număr de 3 cifre

 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."); ) )

Ieșire

 371 este un număr Armstrong.
  • În primul rând, valoarea dată a numărului (număr) este stocată într-o altă variabilă întreagă, originalNumber. Acest lucru se datorează faptului că trebuie să comparăm valorile numărului final și al numărului original la sfârșit.
  • Apoi, o buclă while este utilizată pentru a parcurge numărul original până când este egal cu 0.
    • La fiecare iterație, ultima cifră de num este stocată în rest.
    • Apoi, restul este alimentat de 3 (număr de cifre) folosind Math.pow()funcția și adăugat la rezultat.
    • Apoi, ultima cifră este eliminată din Numărul original după împărțire la 10.
  • În cele din urmă, rezultatul și numărul sunt comparate. Dacă este egal, este un număr Armstrong. Dacă nu, nu este.

Exemplul 2: Verificați numărul Armstrong pentru n cifre

 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."); ) )

Ieșire

 1634 este un număr Armstrong.

În acest program, în loc să folosim bucla while, am folosit două pentru bucle.

Prima buclă for este utilizată pentru a număra numărul de cifre din număr. Este forma condensată a:

 for (; OriginalNumber! = 0; originalNumber / = 10) (n ++;)

Cea de-a doua buclă calculează apoi rezultatul în care la fiecare iterație, restul este alimentat de numărul de cifre n.

Accesați această pagină pentru a afla cum puteți afișa toate numerele armstrong între două intervale.

Articole interesante...