Σε αυτό το παράδειγμα, θα μάθετε να γράφετε ένα πρόγραμμα σε JavaScript για να βρείτε έναν αριθμό Armstrong μεταξύ δύο ακέραιων τιμών.
Για να κατανοήσετε αυτό το παράδειγμα, θα πρέπει να γνωρίζετε τις ακόλουθες ενότητες προγραμματισμού JavaScript:
- JavaScript για βρόχο
Ένας θετικός ακέραιος αριθμός ονομάζεται αριθμός Armstrong (της τάξης n ) εάν:
abcd… = a n + b n + c n + d n +…
Στην περίπτωση αριθμού Armstrong 3 ψηφίων, το άθροισμα των κύβων κάθε ψηφίου είναι ίσο με τον ίδιο τον αριθμό. Για παράδειγμα, το 153 είναι ένας αριθμός Armstrong επειδή:
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3
Ομοίως, το 1634 είναι ένας αριθμός Armstrong επειδή:
1634 = 1 * 1 * 1 * 1 + 6 * 6 * 6 * 6 * + 3 * 3 * 3 * 3 + 4 * 4 * 4 * 4
Πριν δοκιμάσετε αυτό το πρόγραμμα, επισκεφθείτε το Πρόγραμμα JavaScript για να ελέγξετε τον αριθμό Armstrong.
Παράδειγμα: Αριθμοί Armstrong μεταξύ δύο διαστημάτων
// program to find Armstrong number between intervals // take an input const lowNumber = parseInt(prompt('Enter a positive low integer value: ')); const highNumber = parseInt(prompt('Enter a positive high integer value: ')); console.log ('Armstrong Numbers:'); // looping through lowNumber to highNumber for (let i = lowNumber; i 0) ( let remainder = temp % 10; sum += remainder ** numberOfDigits; // removing last digit from the number temp = parseInt(temp / 10); // convert float into integer ) if (sum == i) ( console.log(i); ) )
Παραγωγή
Εισαγάγετε μια θετική χαμηλή ακέραια τιμή: 8 Εισαγάγετε μια θετική υψηλή ακέραια τιμή: 500 Armstrong Numbers: 8 9 153 370 371 407
Στο παραπάνω πρόγραμμα, ζητείται από τον χρήστη να εισαγάγει δύο ακέραιους αριθμούς. Ο ένας είναι ο ακέραιος αριθμός χαμηλότερου διαστήματος και ο άλλος είναι η υψηλότερη τιμή ακέραιου.
Η parseInt()
μετατρέπει την αριθμητική τιμή συμβολοσειράς σε μια ακέραια τιμή.
Ο for
βρόχος χρησιμοποιείται για βρόχο μεταξύ των δύο αριθμών που παρέχει ο χρήστης.
Η toString()
μέθοδος χρησιμοποιείται για τη μετατροπή του αριθμού σε συμβολοσειρά. Και η length
ιδιότητα χρησιμοποιείται για να βρει το μήκος μιας συμβολοσειράς. Ως εκ τούτου, σε αυτήν την περίπτωση, length
δίνει τα συνολικά ψηφία στον αριθμό.
let numberOfDigits = i.toString().length;
Στην for
επανάληψη του πρώτου βρόχου ( i = 8 ),
- Ο χαμηλότερος αριθμός που εισάγει ο χρήστης αποθηκεύεται σε μια προσωρινή μεταβλητή
temp
. - Ένας
while
βρόχος χρησιμοποιείται για να επαναλάβει τον αριθμό.- Ο τελεστής μέτρου
%
χρησιμοποιείται για τη λήψη κάθε ψηφίου αριθμού. Όταν ένας αριθμός διαιρείται με 10 , το υπόλοιπο είναι το τελευταίο ψηφίο. Στην πρώτη επανάληψη,8 % 10
δίνει 8 . - Το υπόλοιπο πολλαπλασιάζεται με τον αριθμό των ψηφίων σε αυτόν τον αριθμό (εδώ 1 ) και το άθροισμα υπολογίζεται.
- Το ψηφίο διαιρείται με 10 για να αφαιρέσει το τελευταίο ψηφίο, δηλαδή
8 / 10
δίνει 0.
- Ο τελεστής μέτρου
- Τέλος, το άθροισμα συγκρίνεται με τον αριθμό που εισήγαγε ο χρήστης. Εάν το άθροισμα και ο αριθμός είναι ίσοι, εμφανίζεται ο αριθμός Armstrong.
Ο βρόχος συνεχίζεται για όλους τους αριθμούς που βρίσκονται μεταξύ των κάτω και άνω ορίων που παρέχονται από τον χρήστη. Στο παραπάνω παράδειγμα, ο βρόχος εκτελείται από 8 έως 500 .