Kotlin程式:檢查兩個整數之間的阿姆斯特朗數
在本文中,我們將瞭解如何在Kotlin中顯示給定兩個數字之間的阿姆斯特朗數。阿姆斯特朗數是一個等於其自身數字立方和的數字。例如,153是
153 = (1)3 + (5)3 + (3)3
以下是相同的演示
假設我們的輸入是
1 & 500
期望的輸出將是
The Armstrong numbers between 1 and 500 are 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371, 407
演算法
步驟1 − 開始
步驟2 − 宣告四個整數:inputLow、inputHigh、originalNumber和myResult
步驟3 − 定義inputLow和inputHigh的值
步驟4 − 讀取值
步驟5 − 執行for迴圈,使用%、/和*運算子生成阿姆斯特朗數
步驟6 − 除以10並獲得'originalNumber'的餘數。
步驟7 − 將'餘數'乘以三次,加到'myResult'中,並將其設為當前'myResult'。
步驟8 − 將'originalNumber'除以10,並將其設為當前'originalNumber'。
步驟9 − 顯示結果
步驟10 − 結束
示例1
在這個例子中,我們將檢查Kotlin中兩個整數之間的阿姆斯特朗數。首先,宣告並設定兩個變數。這是我們將查詢阿姆斯特朗數的範圍:
val inputLow = 1 val inputhigh = 500
現在,使用for迴圈內的while迴圈來查詢範圍內的阿姆斯特朗數
for (number in inputLow + 1..inputhigh - 1) { var tempDigits = 0 var myResult = 0 var originalNumber = number while (originalNumber != 0) { originalNumber /= 10 ++tempDigits } originalNumber = number while (originalNumber != 0) { val remainder = originalNumber % 10 myResult += Math.pow(remainder.toDouble(), tempDigits.toDouble()).toInt() originalNumber /= 10 }
現在讓我們看看查詢阿姆斯特朗數的完整示例
fun main() { val inputLow = 1 val inputhigh = 500 println("The lower and higher limit are defined as $inputLow and $inputhigh ") println("The Armstrong numbers are:") for (number in inputLow + 1..inputhigh - 1) { var tempDigits = 0 var myResult = 0 var originalNumber = number while (originalNumber != 0) { originalNumber /= 10 ++tempDigits } originalNumber = number while (originalNumber != 0) { val remainder = originalNumber % 10 myResult += Math.pow(remainder.toDouble(), tempDigits.toDouble()).toInt() originalNumber /= 10 } if (myResult == number) print("$number ") } }
輸出
The lower and higher limit are defined as 1 and 500 The Armstrong numbers are: 2 3 4 5 6 7 8 9 153 370 371 407
示例2
在這個例子中,我們將獲得兩個整數之間的阿姆斯特朗數
fun main() { val inputLow = 1 val inputhigh = 500 println("The lower and higher limit are defined as $inputLow and $inputhigh ") printArmstrongNumbers(inputLow, inputhigh) } fun printArmstrongNumbers(inputLow: Int, inputhigh: Int) { println("The Armstrong numbers are:") for (number in inputLow + 1..inputhigh - 1) { var tempDigits = 0 var myResult = 0 var originalNumber = number while (originalNumber != 0) { originalNumber /= 10 ++tempDigits } originalNumber = number while (originalNumber != 0) { val remainder = originalNumber % 10 myResult += Math.pow(remainder.toDouble(), tempDigits.toDouble()).toInt() originalNumber /= 10 } if (myResult == number) print("$number ") } }
輸出
The lower and higher limit are defined as 1 and 500 The Armstrong numbers are: 2 3 4 5 6 7 8 9 153 370 371 407
廣告
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP