V tomto príklade sa naučíte skontrolovať, či celé n-miestne číslo je Armstrongovo číslo alebo nie.
Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich tém programovania v jazyku Python:
- Vyhlásenie Python if … else
- Python while Loop
Kladné celé číslo sa nazýva Armstrongovo číslo rádu n, ak
abcd … = a n + b n + c n + d n + …
V prípade Armstrongovho čísla s 3 číslicami sa súčet kociek každej číslice rovná číslu samotnému. Napríklad:
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 je Armstrongovo číslo.
Zdrojový kód: Skontrolujte čí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
Zadajte číslo: 663 663 nie je Armstrongovo číslo
Výstup 2
Zadajte číslo: 407 407 je číslo Armstrong
Tu požiadame používateľa o číslo a skontrolujeme, či ide o číslo Armstrong.
Musíme vypočítať súčet kocky každej číslice. Inicializujeme teda súčet na 0 a každé číselné číslo získame pomocou operátora modulu%. Zvyšok čísla, keď je vydelený číslom 10, je posledná číslica daného čísla. Kocky vezmeme pomocou exponentného operátora.
Na záver porovnáme súčet s pôvodným číslom a dospejeme k záveru, že ide o Armstrongovo číslo, ak sú rovnaké.
Zdrojový kód: Skontrolujte Armstrongov 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 môžete zmeniť v zdrojovom kóde a spustiť znova, aby ste ju otestovali.