Java-ohjelma näyttää Armstrong-luvun kahden välin välillä

Tässä ohjelmassa opit näyttämään kaikki itsepintaiset luvut kahden annetun aikavälin välillä, matalan ja korkean, Java-muodossa.

Tämän esimerkin ymmärtämiseksi sinulla on oltava tieto seuraavista Java-ohjelmointiaiheista:

  • Java taas ja tee … samalla kun silmukka
  • Java jos… muuten lausunto
  • Java silmukalle

Positiivista kokonaislukua kutsutaan Armstrong-luvuksi, jos n

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

Jos kyseessä on 3-numeroinen Armstrong-luku, kunkin numeron kuutioiden summa on yhtä suuri kuin itse numero. Esimerkiksi:

 153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 on Armstrongin luku. 

Tämä ohjelma perustuu ajatukseen siitä, kuinka tarkistaa, onko kokonaisluku Armstrong-luku vai ei.

Esimerkki: Armstrongin numerot kahden kokonaisluvun välillä

 public class Armstrong ( public static void main(String() args) ( int low = 999, high = 99999; for(int number = low + 1; number < high; ++number) ( int digits = 0; int result = 0; int originalNumber = number; // number of digits calculation while (originalNumber != 0) ( originalNumber /= 10; ++digits; ) originalNumber = number; // result contains sum of nth power of its digits while (originalNumber != 0) ( int remainder = originalNumber % 10; result += Math.pow(remainder, digits); originalNumber /= 10; ) if (result == number) System.out.print(number + " "); ) ) )

Tuotos

 1634 8208 9474 54748 92727 93084 

Yllä olevassa ohjelmassa kukin annettujen korkeiden ja matalien välien lukumäärä tarkistetaan.

Jokaisen tarkistuksen jälkeen numeroiden lukumäärä ja summatulos palautetaan nollaksi.

Mielenkiintoisia artikkeleita...