I dette eksempel lærer du at skrive et program i JavaScript for at kontrollere, om et tal er et Armstrong-nummer eller ej.
For at forstå dette eksempel skal du have kendskab til følgende JavaScript-programmeringsemner:
- JavaScript-operatører
- JavaScript mens og gør … mens Loop
Et positivt heltal kaldes et Armstrong-tal (af rækkefølge n) hvis
abcd… = a n + b n + c n + d n +…
I tilfælde af et Armstrong-antal på 3 cifre er summen af terninger af hvert ciffer lig med selve tallet. For eksempel er 153 et Armstrong-tal, fordi
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3
Tilsvarende er 1634 et Armstrong-nummer, fordi:
1634 = 1 * 1 * 1 * 1 + 6 * 6 * 6 * 6 * + 3 * 3 * 3 * 3 + 4 * 4 * 4 * 4
Eksempel 1: Kontroller Armstrong antal med tre cifre
// 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.`); )
Produktion
Indtast et trecifret positivt heltal: 153 153 er et Armstrong-tal.
Ovenstående program tager et input fra brugeren. Derefter,
- Nummeret, der er indtastet af brugeren, gemmes i en midlertidig variabel
temp
. - En
while
sløjfe bruges til at gentage en trecifret værdi.- Det modulus operatør
%
anvendes til at opnå hver cifre. Når et tal divideres med 10 , er resten det sidste ciffer. I den første iteration153 % 10
giver 3 . - Det resterende cifres terning beregnes ved at gange cifret tre gange. Og terningen føjes til
sum
variablen. - Cifret divideres med 10 for at fjerne det sidste ciffer.
- Den
while
fortsætter kredsløbet iteration og dividere antallet af 10 indtil antallet er 0 .
- Det modulus operatør
- Endelig sammenlignes summen med det antal, der er indtastet af brugeren. Hvis summen og antallet er ens, er tallet et Armstrong-tal.
Bemærk : I ovenstående program kunne kuben for et tal beregnes ved hjælp af en eksponentoperator **
. For eksempel,sum += remainder ** 3;
Eksempel 2: Kontroller Armstrong antal n cifre
// 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.`); )
Produktion
Indtast et positivt heltal: 92727 92727 er et Armstrong-tal
I ovenstående program kontrolleres et Armstrong antal n cifre.
Når brugeren indtaster et nummer, tages det som en streng. Den length
egenskab returnerer længden af en streng.
Nummeret, der er indtastet af brugeren, gemmes i en temp
variabel. Og en while
sløjfe bruges til at gentage, indtil dens værdi er mindre end 0 . Hvert ciffer i nummeret hæves til styrken af længden på nummeret.