Kotlin程序檢查阿姆斯特朗數(shù)

Kotlin 實(shí)例大全

在該程序中,您將學(xué)習(xí)檢查給定的數(shù)字是否為阿姆斯壯數(shù)字。您將通過在Kotlin中使用while循環(huán)學(xué)習(xí)如何做到這一點(diǎn)。

一個(gè)正整數(shù)稱為阿姆斯特朗階數(shù),n如果

abcd... = an + bn + cn + dn + ...

對于3位的阿姆斯特朗數(shù),每個(gè)數(shù)字的立方數(shù)之和等于數(shù)字本身。例如:

153 = 1*1*1 + 5*5*5 + 3*3*3  // 153 是一個(gè)阿姆斯特朗數(shù).

示例1:檢查阿姆斯特朗數(shù)為3位數(shù)字

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 += Math.pow(remainder.toDouble(), 3.0).toInt()
        originalNumber /= 10
    }

    if (result == number)
        println("$number 是阿姆斯特朗數(shù).")
    else
        println("$number 不是阿姆斯特朗數(shù).")
}

運(yùn)行該程序時(shí),輸出為:

371 是阿姆斯特朗數(shù)
  • 首先,給定數(shù)字(number)的值存儲(chǔ)在另一個(gè)整數(shù)變量originalNumber中。這是因?yàn)?,我們需要在最后比較最終數(shù)字和原始數(shù)字的值。

  • 然后,使用while循環(huán)對originalNumber進(jìn)行遍歷循環(huán),直到它等于0。

    • 在每次迭代中,num的最后一位存儲(chǔ)在remainder中。

    • 然后,使用Math.pow()函數(shù)將remainder加3(數(shù)字位數(shù))并加到result中。

    • 然后,除以10后,從originalNumber中刪除最后一位數(shù)字。

  • 最后,result和number進(jìn)行比較。如果相等,則為阿姆斯壯數(shù)。如果不等,則不是。

以下是等效的Java代碼:檢查阿姆斯特朗數(shù)的Java程序

示例2:檢查阿姆斯特朗數(shù)為n位數(shù)字

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 是阿姆斯特朗數(shù).")
    else
        println("$number 不是阿姆斯特朗數(shù).")}

在此程序中,我們使用了兩個(gè)while循環(huán)。第一個(gè)while循環(huán)用于計(jì)算 number 中的位數(shù)。

然后,originalNumber還原為給定的number。

然后,第二個(gè)while循環(huán)檢查數(shù)字是否為阿姆斯特朗數(shù)。

訪問此頁面以了解如何顯示兩個(gè)時(shí)間間隔之間的所有阿姆斯特朗數(shù)字

Kotlin 實(shí)例大全

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清