JavaScript-program för att hitta Armstrong-nummer i ett intervall

I det här exemplet lär du dig att skriva ett program i JavaScript för att hitta ett Armstrong-tal mellan två heltal.

För att förstå detta exempel bör du ha kunskap om följande JavaScript-programmeringsämnen:

  • JavaScript för loop

Ett positivt heltal kallas ett Armstrong-nummer (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 eftersom:

 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

Innan du testar det här programmet, besök JavaScript-programmet för att kontrollera Armstrong Number.

Exempel: Armstrong siffror mellan två intervall

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

Produktion

 Ange ett positivt lågt helvärde: 8 Ange ett positivt högt helvärde: 500 Armstrong-tal: 8 9153 370 371 407

I ovanstående program uppmanas användaren att ange två heltal. En är det lägre intervallets heltal och ett annat är det högre heltalets värde.

Den parseInt()konverterar det numeriska strängvärdet till ett heltal.

Den forslinga används för att slinga genom de två nummer som tillhandahålls av användaren.

Den toString()metod som används för att omvandla tal till en sträng. Och lengthegenskapen används för att hitta längden på en sträng. Därför lengthanger i det här fallet antalet siffror i antalet.

 let numberOfDigits = i.toString().length;

I den första forloop-iteration ( i = 8 ),

  1. Det lägre numret som användaren anger lagras i en tillfällig variabel temp.
  2. En whileslinga används för att upprepa numret.
    1. 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, 8 % 10ger 8 .
    2. Resten multipliceras med antalet siffror i det numret (här 1 ) och summan beräknas.
    3. Siffran divideras med 10 för att ta bort den sista siffran, dvs. 8 / 10ger 0.
  3. Slutligen jämförs summan med det antal som användaren har angett. Om summan och antalet är lika visas Armstrong-numret.

Slingan fortsätter för alla siffror som ligger mellan de nedre och övre gränserna som tillhandahålls av användaren. I exemplet ovan exekveras slingan från 8 till 500 .

Intressanta artiklar...