I det här exemplet lär du dig att skriva ett program i JavaScript för att kontrollera om ett nummer är ett Armstrong-nummer eller inte.
För att förstå detta exempel bör du ha kunskap om följande JavaScript-programmeringsämnen:
- JavaScript-operatörer
- JavaScript medan och gör … medan Loop
Ett positivt heltal kallas ett Armstrong-tal (av ordning n) om
abcd … = a n + b n + c n + d n + …
När det gäller ett Armstrong-antal på tre siffror är summan av kuber av varje siffra lika med själva numret. Till exempel är 153 ett Armstrong-nummer på grund av
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3
På samma sätt är 1634 ett Armstrong-nummer eftersom:
1634 = 1 * 1 * 1 * 1 + 6 * 6 * 6 * 6 * + 3 * 3 * 3 * 3 + 4 * 4 * 4 * 4
Exempel 1: Kontrollera Armstrong antal tre siffror
// 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
Ange ett tresiffrigt positivt heltal: 153 153 är ett Armstrong-tal.
Ovanstående program tar en inmatning från användaren. Sedan,
- Numret som användaren anger lagras i en tillfällig variabel
temp
. - En
while
slinga används för att upprepa ett tresiffrigt värde.- Den modul Operatören
%
används för att erhålla varje siffrigt nummer. När ett nummer divideras med 10 är resten den sista siffran. I den första iterationen,153 % 10
ger 3 . - Den återstående siffrans kub beräknas genom att multiplicera siffran tre gånger. Och kuben läggs till
sum
variabeln. - Siffran divideras med 10 för att ta bort den sista siffran.
- Den
while
fortsätter slingan iteration och dividera antalet med 10 tills numret är 0 .
- Den modul Operatören
- Slutligen jämförs summan med det antal som användaren har angett. Om summan och antalet är lika är numret ett Armstrong-tal.
Obs! I ovanstående program kan kuben för ett tal beräknas med en exponentoperator **
. Till exempel,sum += remainder ** 3;
Exempel 2: Kontrollera Armstrong antal n siffror
// 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
Ange ett positivt heltal: 92727 92727 är ett Armstrong-tal
I programmet ovan kontrolleras ett Armstrong antal n siffror.
När användaren anger ett nummer tas det som en sträng. Den length
egenskapen returnerar längden av en sträng.
Numret som användaren anger lagras i en temp
variabel. Och en while
slinga används för att iterera tills dess värde är mindre än 0 . Varje siffra i numret höjs till kraften för numret.