Πρόγραμμα Kotlin για έλεγχο αριθμού Armstrong

Σε αυτό το πρόγραμμα, θα μάθετε να ελέγχετε αν ένας δεδομένος αριθμός είναι αριθμός που δεν είναι δυνατός ή όχι. Θα μάθετε να το κάνετε αυτό χρησιμοποιώντας ένα βρόχο για λίγο στο 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. 

Παράδειγμα 1: Ελέγξτε τον αριθμό Armstrong για 3ψήφιο αριθμό

 fun main(args: Array) ( 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 is an Armstrong number.") else println("$number is not an Armstrong number.") ) 

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 Το 371 είναι ένας αριθμός Armstrong.
  • Αρχικά, η τιμή του συγκεκριμένου αριθμού (αριθμός) αποθηκεύεται σε μια άλλη ακέραια μεταβλητή, τον αρχικό αριθμό. Αυτό συμβαίνει επειδή, πρέπει να συγκρίνουμε τις τιμές του τελικού αριθμού και του αρχικού αριθμού στο τέλος.
  • Στη συνέχεια, χρησιμοποιείται ένας βρόχος while για να περάσετε από τον αρχικό αριθμό μέχρι να είναι ίσος με 0.
    • Σε κάθε επανάληψη, το τελευταίο ψηφίο του αριθμού αποθηκεύεται στο υπόλοιπο.
    • Στη συνέχεια, το υπόλοιπο τροφοδοτείται από 3 (αριθμός ψηφίων) χρησιμοποιώντας τη Math.pow()συνάρτηση και προστίθεται στο αποτέλεσμα.
      Εδώ, το υπόλοιπο μετατρέπεται σε Doubleεπειδή powδέχεται μόνο Doubleπαραμέτρους και η τιμή του μετατρέπεται ξανά σεInt
    • Στη συνέχεια, το τελευταίο ψηφίο αφαιρείται από τον αρχικό αριθμό μετά από διαίρεση με 10.
  • Τέλος, το αποτέλεσμα και ο αριθμός συγκρίνονται. Αν είναι ίσο, είναι ένας δυναμικός αριθμός. Εάν όχι, δεν είναι.

Εδώ είναι ο αντίστοιχος κώδικας Java: Πρόγραμμα Java για έλεγχο αριθμού Armstrong

Παράδειγμα 2: Ελέγξτε τον αριθμό Armstrong για n ψηφία

 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 is an Armstrong number.") else println("$number is not an Armstrong number.") )

Σε αυτό το πρόγραμμα, χρησιμοποιήσαμε δύο ενώ βρόχους. Ο πρώτος βρόχος ενώ χρησιμοποιείται για να μετρήσει τον αριθμό των ψηφίων στον αριθμό.

Στη συνέχεια, ο αρχικός αριθμός επαναφέρεται στον δεδομένο αριθμό.

Στη συνέχεια, ο δεύτερος βρόχος ελέγχει αν ο αριθμός είναι ανθεκτικός ή όχι.

Επισκεφτείτε αυτήν τη σελίδα για να μάθετε, πώς μπορείτε να εμφανίσετε όλους τους αριθμούς που είναι δυνατοί μεταξύ δύο διαστημάτων.

ενδιαφέροντα άρθρα...