Πώς να ελέγξετε τους αριθμούς Armstrong στην Java;

Pos Na Elenxete Tous Arithmous Armstrong Sten Java



Ο ' Αριθμός Άρμστρονγκ ” παρέχει πληροφορίες για τα μοτίβα αριθμών και τις μαθηματικές ιδιότητες. Βοηθά στην κατανόηση των εννοιών της θεωρίας αριθμών και στην εξερεύνηση των αυτοαναφορικών σχέσεων μέσα στους αριθμούς. Επιπλέον, βοηθά στη διασφάλιση της ακρίβειας των δεδομένων ή των εισαγωγών χρήστη. Μπορεί να είναι χρήσιμο όπου η ακεραιότητα εισόδου είναι ζωτικής σημασίας.

Αυτό το ιστολόγιο βοηθά στην εύρεση του αριθμού Armstrong για τα παρεχόμενα δεδομένα.







Πώς να ελέγξετε τους αριθμούς Armstrong στην Java;

Ο ' Αριθμός Άρμστρονγκ ” ελέγχεται για τον εντοπισμό αριθμών που ικανοποιούν μια συγκεκριμένη μαθηματική ιδιότητα. Εάν η παρεχόμενη τιμή είναι ίδια με την προσθήκη των δικών της ακεραίων αριθμών που αυξάνονται στην ισχύ του συνολικού αριθμού των ακεραίων της παρεχόμενης τιμής.



Τώρα, ας επισκεφτούμε μερικά παραδείγματα για περισσότερη κατανόηση:



Παράδειγμα 1: Προσδιορισμός των αριθμών Armstrong





Επισκεφτείτε το πρόγραμμα για να ελέγξετε εάν ο αριθμός που παρέχεται είναι ο αριθμός Armstrong ή όχι:

εισαγωγή java.util.Scanner.
// Εισαγωγή απαιτούμενων βοηθητικών προγραμμάτων.
δημόσια τάξη ArmstrongChecker {
δημόσιο στατικό κενό κύριο ( Σειρά [ ] args )
// Δηλώνοντας το κύριο ( ) μέθοδος
{
Scanner demoTest = νέος σαρωτής ( System.in ) ;
System.out.print ( 'Εισαγάγετε τον αριθμό για έλεγχο:' ) ;
int numEle = demoTest.nextInt ( ) ;

int origNum = numEle;
int ψηφία = 0 ;
ενώ ( αρχ.Αριθμ ! = 0 ) {
αρχ.Αριθμ / = 10 ;
ψηφία++;
}

ενθ άθροισμα = 0 ;
int temp = numEle;
Για ( int i = 0 ; Εγώ < ψηφία? i++ ) {
ενθ εσείς = θερμ % 10 ;
άθροισμα += Math.pow ( εσείς , ψηφία ) ;
θερμοκρασία / = 10 ;
}

αν ( άθροισμα == ονόματα ) {
System.out.println ( ονόματα + 'Είναι ένας αριθμός Άρμστρονγκ.' ) ;
} αλλού {
System.out.println ( ονόματα + 'Δεν ικανοποιεί την προϋπόθεση για τον αριθμό Armstrong.' ) ;
}
}
}


Περιγραφή του παραπάνω κώδικα:



    • Πρώτον, το αντικείμενο για το « Ερευνητής Η κλάση δημιουργείται για να ανακτήσει έναν ακέραιο αριθμό από τον τελικό χρήστη χρησιμοποιώντας το nextInt() ' μέθοδος και αποθήκευση των ανακτημένων δεδομένων σε μια μεταβλητή με το όνομα ' ΟΝΟΜΑΤΑ '.
    • Στη συνέχεια, αυτή η ανακτημένη τιμή εκχωρείται στη μεταβλητή τύπου int με το όνομα ' αρχ.Αριθμ ' και αρχικοποιεί μια μεταβλητή με το όνομα ' ψηφία ' με ' 0 '.
    • Μετά το ' ενώ Ο βρόχος ” χρησιμοποιείται που διαιρεί επανειλημμένα το origNum με το 10 και αυξάνει τη μεταβλητή των ψηφίων κάθε φορά μέχρι το origNum να γίνει 0.
    • Μετά από αυτό, δηλώστε μια μεταβλητή ' άθροισμα ' και ορίστε την τιμή ' ΟΝΟΜΑΤΑ ' στο ' θερμοκρασία ” μεταβλητή. Και χρησιμοποιεί το ' Για ' βρόχος που επαναλαμβάνεται μέχρι το ' ψηφία ” μεταβλητή τιμή.
    • Και σε κάθε επανάληψη βρόχου 'for', το τελευταίο ψηφίο του ' θερμοκρασία ' εξάγεται χρησιμοποιώντας τον τελεστή συντελεστή και αποθηκεύεται σε μια νέα μεταβλητή ' εσείς '. Στη συνέχεια, ο κύβος του ψηφίου προστίθεται στη συνέχεια στο ' άθροισμα ' μεταβλητή χρησιμοποιώντας τη μέθοδο Math.pow().
    • Στο τέλος, το « αν/αλλιώς Η δήλωση χρησιμοποιείται για να προσδιοριστεί εάν το υπολογισμένο άθροισμα είναι ίσο με τον αρχικό αριθμό που έδωσε ο χρήστης. Εάν και οι δύο τιμές είναι ίσες, τότε ο παρεχόμενος αριθμός είναι αριθμός Armstrong και το αντίστροφο.

Μετά τη σύνταξη:


Η έξοδος δείχνει ότι ο παρεχόμενος αριθμός είναι ένας αριθμός Armstrong.

Παράδειγμα 2: Βρείτε όλους τους μόνιμους αριθμούς Armstrong εντός του παρεχόμενου ορίου

Για να βρείτε όλους τους αριθμούς Armstrong στην παρεχόμενη τιμή ή όριο, επισκεφτείτε τον παρακάτω κωδικό:

εισαγωγή java.util.Scanner.
εισαγωγή java.lang.Math;

δημόσια τάξη ArmstsrongNumberExample
{
στατικό boolean isArmsNum ( int j ) {
int buff, singDig = 0 , τέλος = 0 , calc = 0 ;
βοός =j;
ενώ ( βοός > 0 ) {
μπουφ = μπουφ / 10 ;
singDig++;
}
buff = j;
ενώ ( βοός > 0 )
{
άκρο = μπουφέ % 10 ;
calc += ( Math.pow ( τέλος, singDig ) ) ;
μπουφ = μπουφ / 10 ;
}
αν ( ι ==υπολογ )
ΕΠΙΣΤΡΟΦΗ αληθής ;
αλλού ΕΠΙΣΤΡΟΦΗ ψευδής ;
}
δημόσιο στατικό κενό κύριο ( Σχόρδος [ ] )
// Δηλώνοντας το κύριο ( ) μέθοδος
{
int proNum;
Ερευνητής sc = νέος σαρωτής ( System.in ) ;
System.out.print ( 'Εισαγάγετε το ανώτερο όριο:' ) ;
proNum =sc.nextInt ( ) ;
System.out.println ( 'Αριθμός Armstrong μέχρι το παρεχόμενο όριο' + proNum + ' είναι: ' ) ;
Για ( ενθ κ = 0 ; κ < =forNum; k++ )
αν ( isArmsNum ( κ ) )
System.out.print ( k+ ',' ) ;
}
}


Επεξήγηση του παραπάνω κώδικα:

    • Πρώτα, δηλώστε πολλές μεταβλητές 'buff', 'singDig', 'end' και 'calc' που έχουν έναν τύπο ' ενθ », μέσα στη μέθοδο boolean type με το όνομα « isArmsNum() '. Λαμβάνει μια παράμετρο που εκχωρείται στη μεταβλητή με το όνομα ' βοός '.
    • Στη συνέχεια, το « ενώ 'Ο βρόχος δηλώνεται ο οποίος επαναλαμβάνεται μέχρι να φτάσει η τιμή buff' 0 '. Μετά από αυτό, το « βοός Το ' είναι συντελεστής από ' 10 ' για να αφαιρέσετε το τελευταίο ψηφίο από την παρεχόμενη τιμή και να αυξήσετε το ' singDig ” μεταβλητή.
    • Μετά το ' ενώ Ο βρόχος ' χρησιμοποιείται ξανά πάνω από το ' βοός ' μεταβλητή για εξαγωγή του τελευταίου ψηφίου. Ο κύβος του ψηφίου υπολογίζεται χρησιμοποιώντας το « Μαθηματικά. Pow() ' μέθοδος και στη συνέχεια προστέθηκε στο ' υπολογ ” μεταβλητή.
    • Τώρα το ' αν ' η δήλωση χρησιμοποιείται για να ελεγχθεί εάν η υπολογισμένη τιμή στο ' υπολογ Η μεταβλητή ισούται με την τιμή που παρέχεται από τον τελικό χρήστη ή όχι. Επίσης, εμφανίστε το μήνυμα ανάλογα.
    • Μετά από αυτό, η είσοδος από τον τελικό χρήστη ανακτάται με τη βοήθεια του ' Ερευνητής ' βοηθητικό πρόγραμμα στο ' κύριος() 'μέθοδος.
    • Στο τέλος, το « Για Χρησιμοποιείται ο βρόχος που επαναλαμβάνει μέχρι την παρεχόμενη τιμή και κάθε επανάληψη ονομάζεται ' isArmsNum() 'μέθοδος. Αυτή η μέθοδος λαμβάνει όλες τις τιμές μέχρι να επιτευχθεί η παρεχόμενη τιμή και ελέγχει κάθε τιμή για τον αριθμό Armstrong.

Μετά τη σύνταξη:


Η έξοδος εμφανίζει όλους τους αριθμούς Armstrong μέχρι την παρεχόμενη τιμή που είναι ' 370 ' σε αυτήν την περίπτωση.

συμπέρασμα

Για να βρείτε έναν αριθμό Armstrong, πρώτα, μετρήστε τα ψηφία που περιέχει ο παρεχόμενος αριθμός. Στη συνέχεια, εξαγάγετε κάθε ψηφίο από τον παρεχόμενο αριθμό ένα προς ένα με τη βοήθεια πράξεων συντελεστή και διαίρεση. Στη συνέχεια, αυξήστε κάθε ακέραιο της τιμής στην ισχύ του συνολικού αριθμού ακεραίων και προσθέστε την τιμή που προκύπτει σε μια νέα μεταβλητή. Τέλος, ελέγξτε αν η τιμή της μεταβλητής που λήφθηκε είναι ίση με τον παρεχόμενο αριθμό, εάν είναι ίση, τότε ο αριθμός που παρέχεται είναι αριθμός Armstrong, διαφορετικά όχι.