V tomto příkladu se naučíte zkontrolovat, zda je celé číslo n číslice Armstrongovým číslem.
Abychom porozuměli tomuto příkladu, měli byste znát následující témata programování v Pythonu:
- Příkaz Python if … else
- Python while Loop
Kladné celé číslo se nazývá Armstrongovo číslo řádu n if
abcd… = a n + b n + c n + d n +…
V případě Armstrongova počtu 3 číslic se součet kostek každé číslice rovná číslu samotnému. Například:
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 je číslo Armstrong.
Zdrojový kód: Zkontrolujte číslo Armstrong (na 3 číslice)
# 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")
Výstup 1
Zadejte číslo: 663 663 není Armstrongovo číslo
Výstup 2
Zadejte číslo: 407 407 je číslo Armstrong
Zde požádáme uživatele o číslo a zkontrolujeme, zda se jedná o Armstrongovo číslo.
Musíme vypočítat součet krychle každé číslice. Inicializujeme tedy součet na 0 a získáváme každé číselné číslo pomocí operátoru modulu%. Zbývající část čísla, pokud je dělena 10, je poslední číslicí daného čísla. Vezmeme kostky pomocí exponentního operátoru.
Nakonec porovnáme součet s původním číslem a dospějeme k závěru, že jde o Armstrongovo číslo, pokud jsou stejné.
Zdrojový kód: Zkontrolujte Armstrong počet n číslic
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")
Hodnotu num ve zdrojovém kódu můžete změnit a znovu spustit a otestovat.