Pavyzdys, kaip surasti visus Armstrongo skaičius tarp dviejų skaičių. Norėdami išspręsti šią problemą, mes panaudojome įdėtą ciklo ir if teiginį.
Norėdami suprasti šį pavyzdį, turite žinoti apie šias „Python“ programavimo temas:
- „Python“, jei… kitas pareiškimas
- Python, o ciklas
Teigiamas sveikasis skaičius vadinamas Armstrongo eilės n skaičiumi, jei
abcd… = a n + b n + c n + d n +…
Pavyzdžiui,
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 yra Armstrongo skaičius.
Apsilankykite šiame puslapyje, kad sužinotumėte, kaip „Python“ galite patikrinti, ar skaičius yra „Armstrong“ numeris, ar ne.
Pirminis kodas
# 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)
Rezultatas
153 370 371 407 1634
Čia mes nustatėme apatinę ribą 100 kintama apatine ir viršutine riba 2000 kintama viršutine. Mes naudojome kilpą kartoti nuo kintamo apatinio iki viršutinio. Kartojant mažesnės reikšmės vertė padidinama 1 ir patikrinama, ar tai Armstrongo skaičius, ar ne.
Galite pakeisti diapazoną ir išbandyti, keisdami kintamuosius apatinius ir viršutinius. Pastaba: norint, kad ši programa veiktų tinkamai, kintamasis apatinis turėtų būti žemesnis už viršutinį.