English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Collection complète d'exemples en Kotlin
在该程序中,您将学习检查给定的数字是否为阿姆斯壮数字。您将通过在Kotlin中使用while循环学习如何做到这一点。
一个正整数称为阿姆斯特朗阶数,n如果
abcd... = an + bn + cn + dn + ...
对于3位的阿姆斯特朗数,每个数字的立方数之和等于数字本身。例如:
153 = 1*1*1 + 5*5*5 + 3*3*3 // 153 是一个阿姆斯特朗数.
fun main(args: Array<String>) { val number = 371 var originalNumber: Int var remainder: Int var result = 0 originalNumber = number while (originalNumber != 0) { remainder = originalNumber % 10 result +result = Math.pow(remainder.toDouble(), 3.0).toInt() originalNumber /= 10 } si (result == number) println("$number est un nombre d'Armstrong.")} else println("$number 不是阿姆斯特朗数.") }
运行该程序时,输出为:
371 是阿姆斯特朗数
首先,给定数字(number)的值存储在另一个整数变量originalNumber中。这是因为,我们需要在最后比较最终数字和原始数字的值。
然后,使用while循环对originalNumber进行遍历循环,直到它等于0。
在每次迭代中,num的最后一位存储在remainder中。
然后,使用Math.pow()函数将remainder加3(数字位数)并加到result中。
然后,除以10然后,从originalNumber中删除最后一位数字。
最后,result和number进行比较。如果相等,则为阿姆斯壮数。如果不等,则不是。
以下是等效的Java代码:检查阿姆斯特朗数的Java程序
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 +result = Math.pow(remainder.toDouble(), n.toDouble()).toInt() originalNumber /= 10 } si (result == number) println("$number est un nombre d'Armstrong.")} else println("$number n'est pas un nombre d'Armstrong.")}
Dans ce programme, nous avons utilisé deux boucles while. La première boucle while est utilisée pour calculer le nombre de digits dans number.
Ensuite, originalNumber est restauré au nombre donné.
Ensuite, la deuxième boucle while vérifie si le nombre est un nombre d'Armstrong.
Visitez cette page pour en savoir plus sur la manière d'utiliserAfficher tous les nombres d'Armstrong entre deux intervalles de temps。