Pythoni programm Armstrongi arvu leidmiseks intervallist

Näide kõigi Armstrongi numbrite leidmiseks kahe täisarvu vahel. Selle probleemi lahendamiseks oleme kasutanud pesastatud tsüklit ja if-lauset.

Selle näite mõistmiseks peaksid teil olema teadmised järgmistest Pythoni programmeerimise teemadest:

  • Python kui … muidu avaldus
  • Python samal ajal kui aas

Positiivset täisarvu nimetatakse Armstrongi arvuks, kui n

abcd… = a n + b n + c n + d n +…

Näiteks,

 153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 on Armstrongi arv. 

Sellelt lehelt saate teada, kuidas saate Pythonis kontrollida, kas number on Armstrongi number või mitte.

Lähtekood

 # 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äljund

 153 370 371 407 1634 

Siin oleme määranud alumise piiri 100 muutuva alumise ja ülemise piiri 2000 muutuva ülemise piirina. Oleme kasutanud silmuse kordamiseks muutuvast madalamast ülemisse. Kordamisel suurendatakse madalama väärtust 1 võrra ja kontrollitakse, kas see on Armstrongi number või mitte.

Vahemikku saab muuta ja testida muutujate alumise ja ülemise muutmisega. Pange tähele, et muutuja alumine peaks olema madalam kui ülemine, et see programm korralikult töötaks.

Huvitavad Artiklid...