W tym przykładzie nauczysz się pisać program w JavaScript, aby sprawdzić, czy liczba jest liczbą Armstronga, czy nie.
Aby zrozumieć ten przykład, powinieneś znać następujące tematy programowania JavaScript:
- Operatory JavaScript
- JavaScript while i do… while Loop
Dodatnią liczbę całkowitą nazywamy liczbą Armstronga (rzędu n) jeśli
abcd… = a n + b n + c n + d n +…
W przypadku liczby Armstronga składającej się z 3 cyfr, suma sześcianów każdej cyfry jest równa samej liczbie. Na przykład 153 to liczba Armstronga, ponieważ
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3
Podobnie 1634 to liczba Armstronga, ponieważ:
1634 = 1 * 1 * 1 * 1 + 6 * 6 * 6 * 6 * + 3 * 3 * 3 * 3 + 4 * 4 * 4 * 4
Przykład 1: Sprawdź liczbę trzech cyfr firmy Armstrong
// 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.`); )
Wynik
Wpisz trzycyfrową dodatnią liczbę całkowitą: 153 153 to liczba Armstronga.
Powyższy program pobiera dane od użytkownika. Następnie,
- Liczba wprowadzona przez użytkownika jest przechowywana w zmiennej tymczasowej
temp
. while
Pętli, iteracyjne wartość trzy cyfry.- Operatora moduł
%
jest wykorzystywany do uzyskania postaci liczbę. Gdy liczba jest dzielona przez 10 , reszta to ostatnia cyfra. W pierwszej iteracji153 % 10
daje 3 . - Sześcian reszty cyfry oblicza się poprzez trzykrotne pomnożenie cyfry. Sześcian jest dodawany do
sum
zmiennej. - Cyfra jest dzielona przez 10, aby usunąć ostatnią cyfrę.
while
Pętli trwa iteracji i podzielenie przez liczbę 10 , aż liczba wynosi 0 .
- Operatora moduł
- Na koniec suma jest porównywana z liczbą wprowadzoną przez użytkownika. Jeśli suma i liczba są równe, jest to liczba Armstronga.
Uwaga : W powyższym programie sześcian liczby można obliczyć za pomocą operatora wykładnika **
. Na przykład,sum += remainder ** 3;
Przykład 2: Sprawdź liczbę n cyfr firmy Armstrong
// 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.`); )
Wynik
Wpisz dodatnią liczbę całkowitą: 92727 92727 to liczba Armstronga
W powyższym programie sprawdzana jest liczba Armstronga składająca się z n cyfr.
Gdy użytkownik wprowadza liczbę, jest ona traktowana jako ciąg. length
Właściwość zwraca długość łańcucha.
Liczba wprowadzona przez użytkownika jest przechowywana w temp
zmiennej. A while
pętla jest używany do iteracji, aż jego wartość jest mniejsza niż 0 . Każda cyfra liczby jest podnoszona do potęgi długości liczby.