Σε αυτό το παράδειγμα, θα μάθετε να γράφετε ένα πρόγραμμα σε JavaScript για να ελέγξετε αν ένας αριθμός είναι αριθμός Armstrong ή όχι.
Για να κατανοήσετε αυτό το παράδειγμα, θα πρέπει να γνωρίζετε τις ακόλουθες ενότητες προγραμματισμού JavaScript:
- Τελεστές JavaScript
- Javascript ενώ και κάντε… ενώ Loop
Ένας θετικός ακέραιος αριθμός ονομάζεται αριθμός 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
Παράδειγμα 1: Ελέγξτε τον Armstrong Αριθμός τριών ψηφίων
// program to check an Armstrong number of three digits let sum = 0; const number = prompt('Enter a three-digit positive integer: '); // create a temporary variable let temp = number; while (temp> 0) ( // finding the one's digit let remainder = temp % 10; sum += remainder * remainder * remainder; // removing last digit from the number temp = parseInt(temp / 10); // convert float into integer ) // check the condition if (sum == number) ( console.log(`$(number) is an Armstrong number`); ) else ( console.log(`$(number) is not an Armstrong number.`); )
Παραγωγή
Εισαγάγετε έναν τριψήφιο θετικό ακέραιο: το 153 153 είναι ένας αριθμός Armstrong.
Το παραπάνω πρόγραμμα λαμβάνει πληροφορίες από τον χρήστη. Τότε,
- Ο αριθμός που εισάγει ο χρήστης αποθηκεύεται σε μια προσωρινή μεταβλητή
temp
. - Ένας
while
βρόχος χρησιμοποιείται για να επαναλάβει μια τριψήφια τιμή.- Ο τελεστής μέτρου
%
χρησιμοποιείται για τη λήψη κάθε ψηφίου αριθμού. Όταν ένας αριθμός διαιρείται με 10 , το υπόλοιπο είναι το τελευταίο ψηφίο. Στην πρώτη επανάληψη,153 % 10
δίνει 3 . - Ο κύβος του υπόλοιπου ψηφίου υπολογίζεται πολλαπλασιάζοντας το ψηφίο τρεις φορές. Και ο κύβος προστίθεται στη
sum
μεταβλητή. - Το ψηφίο διαιρείται με 10 για να αφαιρεθεί το τελευταίο ψηφίο.
- Ο
while
βρόχος συνεχίζει να επαναλαμβάνει και διαιρεί τον αριθμό με 10 έως ότου ο αριθμός είναι 0 .
- Ο τελεστής μέτρου
- Τέλος, το άθροισμα συγκρίνεται με τον αριθμό που εισήγαγε ο χρήστης. Εάν το άθροισμα και ο αριθμός είναι ίσοι, ο αριθμός είναι αριθμός Armstrong.
Σημείωση : Στο παραπάνω πρόγραμμα, ο κύβος ενός αριθμού θα μπορούσε να υπολογιστεί χρησιμοποιώντας έναν εκθέτη **
. Για παράδειγμα,sum += remainder ** 3;
Παράδειγμα 2: Ελέγξτε τον Armstrong Αριθμός n ψηφίων
// program to check an Armstrong number of n digits // take an input const number = prompt("Enter a positive integer"); const numberOfDigits = number.length; let sum = 0; // create a temporary variable let temp = number; while (temp> 0) ( let remainder = temp % 10; sum += remainder ** numberOfDigits; // removing last digit from the number temp = parseInt(temp / 10); // convert float into integer ) if (sum == number) ( console.log(`$(number) is an Armstrong number`); ) else ( console.log(`$(number) is not an Armstrong number.`); )
Παραγωγή
Εισαγάγετε έναν θετικό ακέραιο αριθμό: 92727 92727 είναι ένας αριθμός Armstrong
Στο παραπάνω πρόγραμμα, ελέγχεται ένας αριθμός Arm ψηφίων n.
Όταν ο χρήστης εισάγει έναν αριθμό, λαμβάνεται ως συμβολοσειρά. Η length
ιδιότητα επιστρέφει το μήκος μιας συμβολοσειράς.
Ο αριθμός που εισάγει ο χρήστης αποθηκεύεται σε μια temp
μεταβλητή. Και ένας while
βρόχος χρησιμοποιείται για να επαναλάβει έως ότου η τιμή του είναι μικρότερη από 0 . Κάθε ψηφίο του αριθμού αυξάνεται με τη δύναμη του μήκους του αριθμού.