Program Python na vyhľadanie Armstrongovho čísla v intervale

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.

Zaujímavé články...