Kotlino programa patikrinti Armstrongo skaičių

Šioje programoje išmoksite patikrinti, ar nurodytas skaičius yra tvirtas skaičius, ar ne. Išmoksite tai padaryti naudodamiesi „Kotlin“ cikle.

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ų

 fun main(args: Array) ( val number = 371 var originalNumber: Int var remainder: Int var result = 0 originalNumber = number while (originalNumber != 0) ( remainder = originalNumber % 10 result += Math.pow(remainder.toDouble(), 3.0).toInt() originalNumber /= 10 ) if (result == number) println("$number is an Armstrong number.") else println("$number is not an Armstrong number.") ) 

Kai paleisite programą, išvestis bus:

 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.
      Čia likusi dalis konvertuojama į, Doublenes powpriima tik Doubleparametrus, o jos vertė vėl konvertuojama įInt
    • Paskutinis skaitmuo pašalinamas iš originalo numerio po padalijimo iš 10.
  • Galiausiai palyginamas rezultatas ir skaičius. Jei lygus, tai yra ginkluotas skaičius. Jei ne, taip nėra.

Čia yra lygiavertis „Java“ kodas: „Java“ programa, skirta patikrinti Armstrongo skaičių

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

 fun main(args: Array) ( val number = 1634 var originalNumber: Int var remainder: Int var result = 0 var n = 0 originalNumber = number while (originalNumber != 0) ( originalNumber /= 10 ++n ) originalNumber = number while (originalNumber != 0) ( remainder = originalNumber % 10 result += Math.pow(remainder.toDouble(), n.toDouble()).toInt() originalNumber /= 10 ) if (result == number) println("$number is an Armstrong number.") else println("$number is not an Armstrong number.") )

Šioje programoje mes naudojome dvi „loop“. Pirmoji ciklo ciklas naudojamas skaičiuoti skaičių skaičių.

Tada „originalNumber“ atkuriamas nurodytu skaičiumi.

Tada antrasis ciklas patikrina, ar skaičius yra tvirtas, ar ne.

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

Įdomios straipsniai...