Σε αυτό το πρόγραμμα, θα μάθετε να εμφανίζονται όλοι οι δυναμικοί αριθμοί μεταξύ δύο δεδομένων διαστημάτων, χαμηλού και υψηλού, στο Kotlin.
Ένας θετικός ακέραιος αριθμός ονομάζεται αριθμός Armstrong της τάξης n εάν
abcd… = a n + b n + c n + d n +…
Σε περίπτωση αριθμού Armstrong 3 ψηφίων, το άθροισμα των κύβων κάθε ψηφίου είναι ίσο με τον ίδιο τον αριθμό. Για παράδειγμα:
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 είναι ένας αριθμός Armstrong.
Αυτό το πρόγραμμα βασίζεται στην ιδέα του πώς να ελέγξετε αν ένας ακέραιος αριθμός είναι αριθμός Armstrong ή όχι.
Παράδειγμα: Αριθμοί Armstrong μεταξύ δύο ακεραίων
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 ") ) )
Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:
1634 8208 9474 54748 92727 93084
Στο παραπάνω πρόγραμμα, ελέγχεται κάθε αριθμός μεταξύ του δεδομένου διαστήματος υψηλού και χαμηλού.
Μετά από κάθε έλεγχο, ο αριθμός των ψηφίων και το αποτέλεσμα του αθροίσματος επαναφέρονται στο 0.