Java program za preverjanje Armstrongove številke

V tem programu se boste naučili preverjati, ali je določena številka armstrong številka ali ne. To se boste naučili z uporabo zanke for in while v Javi.

Če želite razumeti ta primer, morate poznati naslednje programske teme Java:

  • Java while in do … while Loop
  • Izjava Java, če … drugače
  • Java za zanko

Pozitivno celo število se imenuje Armstrongova številka reda n, če

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

V primeru Armstrongovega števila 3 števk je vsota kock vsake števke enaka samemu številu. Na primer:

 153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 je Armstrongova številka. 

Primer 1: Preverite Armstrongovo številko za 3-mestno številko

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

Izhod

 371 je Armstrongova številka.
  • Najprej se vrednost dane številke (števila) shrani v drugo celoštevilčno spremenljivko, originalNumber. To je zato, ker moramo na koncu primerjati vrednosti končnega in prvotnega števila.
  • Nato se zanka while uporablja za zanko skozi originalNumber, dokler ni enaka 0.
    • Na vsaki ponovitvi se zadnja številka števila shrani v preostanek.
    • Nato se preostanek napaja s 3 (število števk) s pomočjo Math.pow()funkcije in doda rezultatu.
    • Nato se zadnja številka odstrani iz originalNumber po delitvi z 10.
  • Na koncu se primerjajo rezultat in število. Če je enako, je Armstrongova številka. Če ne, ni.

Primer 2: Preverite Armstrongovo številko za n števk

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

Izhod

 1634 je Armstrongova številka.

V tem programu smo namesto zanke uporabili dve zanki.

Prva zanka for se uporablja za štetje števila števk v številu. Je strnjena oblika:

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

Druga zanka for nato izračuna rezultat, pri čemer se na vsaki ponovitvi preostanek napaja s številom številk n.

Obiščite to stran, če želite izvedeti, kako lahko med dvema intervaloma prikažete vse armstrong številke.

Zanimive Članki...