I dette programmet lærer du å vise alle armstrong tall mellom to gitte intervaller, lave og høye, i Kotlin.
Et positivt heltall kalles et Armstrong antall ordre n hvis
abcd … = a n + b n + c n + d n + …
I tilfelle et Armstrong-tall på 3 sifre er summen av kubene av hvert siffer lik selve tallet. For eksempel:
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 er et Armstrong-tall.
Dette programmet er bygget på konseptet med hvordan man kan sjekke om et heltall er et Armstrong-nummer eller ikke.
Eksempel: Armstrong tall mellom to helheter
fun main(args: Array) ( val low = 999 val high = 99999 for (number in low + 1… high - 1) ( var digits = 0 var result = 0 var 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) ( val remainder = originalNumber % 10 result += Math.pow(remainder.toDouble(), digits.toDouble()).toInt() originalNumber /= 10 ) if (result == number) print("$number ") ) )
Når du kjører programmet, vil utdataene være:
1634 8208 9474 54748 92727 93084
I programmet ovenfor kontrolleres hvert tall mellom det gitte intervallet høyt og lavt.
Etter hver kontroll blir antall sifre og sumresultatet gjenopprettet til 0.