Príklad na vyhľadanie všetkých čísel Armstronga medzi dvoma celými číslami. Na vyriešenie tohto problému sme použili príkaz vnorenej slučky a if.
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 + …
Napríklad,
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 je Armstrongovo číslo.
Na tejto stránke nájdete informácie o tom, ako skontrolovať, či je číslo v systéme Python číslo Armstrong.
Zdrojový kód
# Program to check Armstrong numbers in a certain interval lower = 100 upper = 2000 for num in range(lower, upper + 1): # order of number order = len(str(num)) # initialize sum sum = 0 temp = num while temp> 0: digit = temp % 10 sum += digit ** order temp //= 10 if num == sum: print(num)
Výkon
153 370 371 407 1634
Tu sme nastavili dolnú hranicu 100 v premennej dolná a horná hranica 2000 v premennej horná. Použili sme pre slučku iteráciu z premennej dolná na horná. V iterácii sa hodnota spodnej zvyšuje o 1 a skontrolovalo sa, či ide o Armstrongovo číslo alebo nie.
Rozsah môžete zmeniť a otestovať zmenou premenných dolná a horná. Upozorňujeme, že aby tento program fungoval správne, premenná lower by mala byť nižšia ako upper.