W tym przykładzie nauczysz się pisać program w JavaScript, aby znaleźć liczbę Armstronga między dwiema wartościami całkowitymi.
Aby zrozumieć ten przykład, powinieneś znać następujące tematy programowania JavaScript:
- JavaScript for 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
Przed wypróbowaniem tego programu odwiedź program JavaScript, aby sprawdzić numer Armstronga.
Przykład: liczby Armstronga między dwoma przedziałami
// 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); ) )
Wynik
Wprowadź dodatnią niską liczbę całkowitą: 8 Wprowadź dodatnią najwyższą liczbę całkowitą: 500 Numery firmy Armstrong: 8 9153 370371407
W powyższym programie użytkownik jest proszony o wprowadzenie dwóch liczb całkowitych. Jedna to mniejsza liczba całkowita przedziału, a druga to wyższa wartość całkowita.
parseInt()
Przekształca ciąg liczbowy wartości do liczby całkowitej.
for
Pętli służy do pętli dwóch liczb dostarczonych przez użytkownika.
toString()
Metoda służy do konwersji liczby na łańcuch. A length
właściwość jest używana, aby znaleźć długość łańcucha. Stąd w tym przypadku length
podaje całkowitą liczbę cyfr.
let numberOfDigits = i.toString().length;
W pierwszej for
iteracji pętli ( i = 8 ),
- Niższa liczba wprowadzona przez użytkownika jest przechowywana w zmiennej tymczasowej
temp
. while
Pętli, iteracyjne numer.- Operatora moduł
%
jest wykorzystywany do uzyskania postaci liczbę. Gdy liczba jest dzielona przez 10 , reszta to ostatnia cyfra. W pierwszej iteracji8 % 10
daje 8 . - Reszta jest mnożona przez liczbę cyfr w tej liczbie (tutaj 1 ) i obliczana jest suma.
- Cyfra jest dzielona przez 10, aby usunąć ostatnią cyfrę, czyli
8 / 10
daje 0.
- Operatora moduł
- Na koniec suma jest porównywana z liczbą wprowadzoną przez użytkownika. Jeśli suma i liczba są równe, wyświetlana jest liczba Armstronga.
Pętla jest kontynuowana dla wszystkich liczb znajdujących się pomiędzy dolną i górną granicą podaną przez użytkownika. W powyższym przykładzie pętla jest wykonywana od 8 do 500 .