I dette eksemplet lærer du å skrive et program i JavaScript for å sjekke om et nummer er et Armstrong-nummer eller ikke.
For å forstå dette eksemplet, bør du ha kunnskap om følgende JavaScript-programmeringsemner:
- JavaScript-operatører
- JavaScript mens og gjør… mens Loop
Et positivt heltall kalles et Armstrong-tall (av rekkefølge n) hvis
abcd … = a n + b n + c n + d n + …
Når det gjelder et Armstrong-antall på 3 sifre, er summen av kuber av hvert siffer lik selve tallet. For eksempel er 153 et Armstrong-nummer 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 antall tre sifre
// 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.`); )
Produksjon
Skriv inn et tresifret positivt heltall: 153 153 er et Armstrong-tall.
Ovennevnte program tar et innspill fra brukeren. Deretter,
- Nummeret som er angitt av brukeren, lagres i en midlertidig variabel
temp
. - En
while
sløyfe brukes til å gjenta en tresifret verdi.- Den modulus operator
%
benyttes for å oppnå hvert siffer nummer. Når et tall er delt på 10 , er resten det siste sifferet. I den første iterasjonen,153 % 10
gir 3 . - Resten av sifferets kube beregnes ved å multiplisere tallet tre ganger. Og kuben er lagt til
sum
variabelen. - Sifferet er delt med 10 for å fjerne det siste sifferet.
- Den
while
sløyfen fortsetter å iterere og å dele antall av 10 til tallet er 0 .
- Den modulus operator
- Til slutt sammenlignes summen med antallet som er angitt av brukeren. Hvis summen og tallet er like, er tallet et Armstrong-tall.
Merk : I programmet ovenfor kan kuben til et tall beregnes ved hjelp av en eksponentoperator **
. For eksempel,sum += remainder ** 3;
Eksempel 2: Kontroller Armstrong antall n sifre
// 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.`); )
Produksjon
Skriv inn et positivt heltall: 92727 92727 er et Armstrong-tall
I programmet ovenfor kontrolleres et Armstrong-antall n sifre.
Når brukeren skriver inn et nummer, blir det tatt som en streng. Den length
egenskapen returnerer lengden på en streng.
Nummeret som er angitt av brukeren, lagres i en temp
variabel. Og en while
sløyfe brukes til å gjenta til verdien er mindre enn 0 . Hvert siffer i tallet heves til kraften til lengden på tallet.