JavaScript-program for å finne Armstrong-nummer i et intervall

I dette eksemplet lærer du å skrive et program i JavaScript for å finne et Armstrong-tall mellom to heltallverdier.

For å forstå dette eksemplet, bør du ha kunnskap om følgende JavaScript-programmeringsemner:

  • JavaScript for 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

Før du prøver dette programmet, kan du gå til JavaScript-programmet for å sjekke Armstrong Number.

Eksempel: Armstrong teller mellom to intervaller

 // 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); ) )

Produksjon

 Angi en positiv lavtallverdi: 8 Angi en positiv høytallverdi: 500 Armstrong-tall: 8 9153 370 371 407

I programmet ovenfor blir brukeren bedt om å angi to heltall. Det ene er det lavere intervallet heltall, og det andre er det høyere heltallverdien.

Den parseInt()konverterer den numeriske strengverdien til et heltall.

Den forkoplingssløyfe anvendes til å skifte mellom de to tallene gitt av brukeren.

Den toString()metoden er brukt for å konvertere tallet til en streng. Og lengthegenskapen brukes til å finne lengden på en streng. Derfor, i dette tilfellet, lengthgir de totale sifrene i tallet.

 let numberOfDigits = i.toString().length;

I den første forloop-iterasjonen ( i = 8 ),

  1. Det lavere tallet som er angitt av brukeren, lagres i en midlertidig variabel temp.
  2. En whilesløyfe brukes til å gjenta nummeret.
    1. 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, 8 % 10gir 8 .
    2. Resten multipliseres med antall sifre i tallet (her 1 ) og summen blir beregnet.
    3. Sifferet er delt på 10 for å fjerne det siste sifferet, dvs. 8 / 10gir 0.
  3. Til slutt sammenlignes summen med antallet som er angitt av brukeren. Hvis summen og antallet er like, vises Armstrong-tallet.

Sløyfen fortsetter for alle tallene som er i mellom nedre og øvre grenser gitt av brukeren. I eksemplet ovenfor blir sløyfen utført fra 8 til 500 .

Interessante artikler...