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

Σε αυτό το πρόγραμμα, θα μάθετε να ελέγχετε αν ένας δεδομένος αριθμός είναι αριθμός armstrong ή όχι. Θα μάθετε να το κάνετε αυτό χρησιμοποιώντας ένα βρόχο για βρόχο και για λίγο στην Java.

Για να κατανοήσετε αυτό το παράδειγμα, θα πρέπει να γνωρίζετε τις ακόλουθες εφαρμογές προγραμματισμού Java:

  • Java ενώ και κάνουμε… ενώ Loop
  • Java αν… αλλιώς Δήλωση
  • Java για βρόχο

Ένας θετικός ακέραιος αριθμός ονομάζεται αριθμός 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ψήφιο αριθμό

 public class Armstrong ( public static void main(String() args) ( int number = 371, originalNumber, remainder, result = 0; originalNumber = number; while (originalNumber != 0) ( remainder = originalNumber % 10; result += Math.pow(remainder, 3); originalNumber /= 10; ) if(result == number) System.out.println(number + " is an Armstrong number."); else System.out.println(number + " is not an Armstrong number."); ) )

Παραγωγή

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

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

 public class Armstrong ( public static void main(String() args) ( int number = 1634, originalNumber, remainder, result = 0, n = 0; originalNumber = number; for (;originalNumber != 0; originalNumber /= 10, ++n); originalNumber = number; for (;originalNumber != 0; originalNumber /= 10) ( remainder = originalNumber % 10; result += Math.pow(remainder, n); ) if(result == number) System.out.println(number + " is an Armstrong number."); else System.out.println(number + " is not an Armstrong number."); ) )

Παραγωγή

 Το 1634 είναι ένας αριθμός Armstrong.

Σε αυτό το πρόγραμμα, αντί να χρησιμοποιήσουμε το while loop, χρησιμοποιήσαμε δύο για βρόχους.

Το πρώτο για βρόχο χρησιμοποιείται για να μετρήσει τον αριθμό των ψηφίων στον αριθμό. Είναι η συμπυκνωμένη μορφή:

 για (; originalNumber! = 0; originalNumber / = 10) (n ++;)

Στη συνέχεια, το δεύτερο για βρόχο υπολογίζει το αποτέλεσμα όπου σε κάθε επανάληψη, το υπόλοιπο τροφοδοτείται από τον αριθμό των ψηφίων n.

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

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