„Java“ programa Armstrongo skaičiui patikrinti

Šioje programoje išmoksite patikrinti, ar nurodytas skaičius yra tvirtas skaičius, ar ne. Išmoksite tai padaryti naudodami „Java“ „for loop“ ir „while“ kilpas.

Norėdami suprasti šį pavyzdį, turite žinoti šias Java programavimo temas:

  • „Java“ ir daryk … o „Loop“
  • „Java“, jei… kitas pareiškimas
  • „Java for Loop“

Teigiamas sveikasis skaičius vadinamas Armstrongo eilės n skaičiumi, jei

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

Jei Armstrongo skaičius yra 3 skaitmenys, kiekvieno skaitmens kubelių suma lygi pačiam skaičiui. Pavyzdžiui:

 153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 yra Armstrongo skaičius. 

1 pavyzdys: Patikrinkite, ar Armstrongo numeryje nėra 3 skaitmenų

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

Rezultatas

 371 yra Armstrongo numeris.
  • Pirma, nurodyto skaičiaus (skaičiaus) reikšmė saugoma kitame sveikojo skaičiaus kintamajame „originalNumber“. Taip yra todėl, kad turime palyginti galutinio skaičiaus ir pradinio skaičiaus vertes pabaigoje.
  • Tada ciklo ciklas naudojamas norint pereiti per originalų skaičių, kol jis bus lygus 0.
    • Kiekvienoje iteracijoje paskutinis numerio skaitmuo saugomas likusioje dalyje.
    • Tada likusią dalį maitina 3 (skaitmenų skaičius) naudojant Math.pow()funkciją ir pridedama prie rezultato.
    • Paskutinis skaitmuo pašalinamas iš originalo numerio po padalijimo iš 10.
  • Galiausiai palyginamas rezultatas ir skaičius. Jei lygus, tai yra Armstrongo skaičius. Jei ne, taip nėra.

2 pavyzdys: patikrinkite, ar Armstrongo numeryje nėra n skaitmenų

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

Rezultatas

 1634 yra Armstrongo numeris.

Šioje programoje, užuot naudoję „loop“, kilpoms naudojome du.

Pirmasis ciklas naudojamas skaičiuoti skaičių skaičių. Tai sutrumpinta forma:

 už (; originalNumber! = 0; originalNumber / = 10) (n ++;)

Antroji ciklo atveju apskaičiuoja rezultatą, kur kiekvienoje iteracijoje likusią dalį maitina skaitmenų skaičius n

Apsilankykite šiame puslapyje, kad sužinotumėte, kaip galite rodyti visus ištisinius skaičius tarp dviejų intervalų.

Įdomios straipsniai...