U ovom ćete primjeru naučiti provjeriti je li n-znamenkasti cijeli broj Armstrongov broj ili nije.
Da biste razumjeli ovaj primjer, trebali biste imati znanje o sljedećim temama programiranja na Pythonu:
- Python if … else Izjava
- Python dok 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 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 je Armstrongov broj.
Izvorni kod: Provjerite Armstrongov broj (za 3 znamenke)
# Python program to check if the number is an Armstrong number or not # take input from the user num = int(input("Enter a number: ")) # initialize sum sum = 0 # find the sum of the cube of each digit temp = num while temp> 0: digit = temp % 10 sum += digit ** 3 temp //= 10 # display the result if num == sum: print(num,"is an Armstrong number") else: print(num,"is not an Armstrong number")
Izlaz 1
Unesite broj: 663 663 nije Armstrongov broj
Izlaz 2
Unesite broj: 407 407 je Armstrongov broj
Ovdje od korisnika tražimo broj i provjeravamo je li to Armstrongov broj.
Moramo izračunati zbroj kocke svake znamenke. Dakle, inicijaliziramo zbroj na 0 i dobivamo svaki brojčani broj pomoću operatora modula%. Ostatak broja kada je podijeljen s 10 zadnja je znamenka tog broja. Uzimamo kocke koristeći eksponentni operator.
Na kraju uspoređujemo zbroj s izvornim brojem i zaključujemo da je Armstrongov broj ako su jednaki.
Izvorni kod: Provjerite Armstrongov broj od n znamenki
num = 1634 # Changed num variable to string, # and calculated the length (number of digits) order = len(str(num)) # initialize sum sum = 0 # find the sum of the cube of each digit temp = num while temp> 0: digit = temp % 10 sum += digit ** order temp //= 10 # display the result if num == sum: print(num,"is an Armstrong number") else: print(num,"is not an Armstrong number")
Možete promijeniti vrijednost num u izvornom kodu i ponovo pokrenuti da biste ga testirali.