Chương trình Kotlin để hiển thị số Armstrong giữa hai khoảng thời gian

Trong chương trình này, bạn sẽ học cách hiển thị tất cả các số mạnh giữa hai khoảng thời gian nhất định, thấp và cao, trong Kotlin.

Một số nguyên dương được gọi là số Amstrong có thứ tự n nếu

abcd… = a n + b n + c n + d n +…

Trong trường hợp một số Amstrong có 3 chữ số, thì tổng các lập phương của mỗi chữ số bằng chính số đó. Ví dụ:

 153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 là một số Amstrong. 

Chương trình này được xây dựng dựa trên khái niệm về cách kiểm tra một số nguyên có phải là số Armstrong hay không.

Ví dụ: Số Armstrong giữa hai số nguyên

 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 ") ) ) 

Khi bạn chạy chương trình, đầu ra sẽ là:

 1634 8208 9474 54748 92727 93084 

Trong chương trình trên, mỗi số giữa khoảng cao và thấp đã cho được kiểm tra.

Sau mỗi lần kiểm tra, số chữ số và kết quả tổng được khôi phục về 0.

thú vị bài viết...