Python-ohjelma Armstrong-luvun löytämiseksi intervallista

Esimerkki kaikkien Armstrong-numeroiden löytämisestä kahden kokonaisluvun välillä. Tämän ongelman ratkaisemiseksi olemme käyttäneet sisäkkäistä silmukkaa ja if-lausetta.

Tämän esimerkin ymmärtämiseksi sinulla on oltava tieto seuraavista Python-ohjelmointiaiheista:

  • Python jos… muuten Lausunto
  • Python kun silmukka

Positiivista kokonaislukua kutsutaan Armstrong-luvuksi, jos n

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

Esimerkiksi,

 153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 on Armstrongin luku. 

Käy tältä sivulta saadaksesi tietää, kuinka voit tarkistaa onko numero Armstrongin numero Pythonissa.

Lähdekoodi

 # 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) 

Tuotos

 153 370 371 407 1634 

Tässä olemme asettaneet alarajan 100 muuttuvaan alempaan ja ylärajaan 2000 muuttuvaan ylempään. Olemme käyttäneet silmukkaa iteroimaan vaihtelevasta alemmasta ylempään. Iteraatiossa alemman arvoa kasvatetaan yhdellä ja tarkistetaan onko se Armstrongin numero vai ei.

Voit muuttaa aluetta ja testata muuttamalla muuttujia alemmaksi ja ylemmäksi. Huomaa, että muuttujan alemman tulisi olla alempaa kuin ylempi, jotta tämä ohjelma toimisi oikein.

Mielenkiintoisia artikkeleita...