U ovom ćete primjeru naučiti pisati program na JavaScript-u kako biste provjerili je li broj Armstrongov broj ili nije.
Da biste razumjeli ovaj primjer, trebali biste imati znanje o sljedećim temama programiranja JavaScript:
- JavaScript operateri
- JavaScript while i to … while Loop
Pozitivni cijeli broj naziva se Armstrongov broj (reda n) ako
abcd… = a n + b n + c n + d n +…
U slučaju Armstrongova broja od 3 znamenke, zbroj kocki svake znamenke jednak je samom broju. Na primjer, 153 je Armstrongov broj jer
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3
Slično tome, 1634. je Armstrongov broj jer:
1634 = 1 * 1 * 1 * 1 + 6 * 6 * 6 * 6 * + 3 * 3 * 3 * 3 + 4 * 4 * 4 * 4
Primjer 1: Provjerite Armstrongov broj od tri znamenke
// 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.`); )
Izlaz
Unesite troznamenkasti pozitivni cijeli broj: 153 153 je Armstrongov broj.
Gornji program uzima podatke od korisnika. Zatim,
- Broj koji je korisnik unio pohranjen je u privremenu varijablu
temp
. while
Petlja se koristi za iteraciju troznamenkastog vrijednost.- Operator modula
%
koristi se za dobivanje svakog znamenkasti broja. Kad se broj podijeli s 10 , ostatak je zadnja znamenka. U prvoj iteraciji153 % 10
daje 3 . - Kocka ostatka znamenke izračunava se množenjem znamenke tri puta. I kocka se dodaje
sum
varijabli. - Znamenka se dijeli s 10 da bi se uklonila zadnja znamenka.
while
Petlja se nastavlja iterating i dijeljenjem broja po 10 dok je broj 0 .
- Operator modula
- Konačno, zbroj se uspoređuje s brojem koji je korisnik unio. Ako su zbroj i broj jednaki, broj je Armstrongov broj.
Napomena : U gore navedenom programu, kocka broja mogla bi se izračunati pomoću operatora eksponenta **
. Na primjer,sum += remainder ** 3;
Primjer 2: Provjerite Armstrongov broj n znamenki
// 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.`); )
Izlaz
Unesite pozitivan cijeli broj: 92727 92727 je Armstrongov broj
U gornjem programu provjerava se Armstrongov broj od n znamenki.
Kad korisnik unese broj, on se uzima kao niz. length
Vlasništvo vraća duljinu niza.
Broj koji je korisnik unio pohranjuje se u temp
varijablu. I while
petlja se koristi za ponavljanje sve dok vrijednost nije manja od 0 . Svaka znamenka broja podiže se u stepen duljine broja.