Python-ohjelma Armstrong-numeron tarkistamiseksi

Tässä esimerkissä opit tarkistamaan, onko n-numeroinen kokonaisluku Armstrong-luku vai ei.

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 +…

Jos kyseessä on 3-numeroinen Armstrong-luku, kunkin numeron kuutioiden summa on yhtä suuri kuin itse numero. Esimerkiksi:

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

Lähdekoodi: Tarkista Armstrongin numero (3 numeroa)

 # Python program to check if the number is an Armstrong number or not # take input from the user num = int(input("Enter a number: ")) # initialize sum sum = 0 # find the sum of the cube of each digit temp = num while temp> 0: digit = temp % 10 sum += digit ** 3 temp //= 10 # display the result if num == sum: print(num,"is an Armstrong number") else: print(num,"is not an Armstrong number") 

Lähtö 1

 Syötä numero: 663 663 ei ole Armstrong-numero 

Lähtö 2

 Syötä numero: 407 407 on Armstrongin numero 

Tässä pyydämme käyttäjältä numeroa ja tarkistamme onko se Armstrong-numero.

Meidän on laskettava kunkin numeron kuution summa. Joten aloitetaan summa 0: ksi ja saadaan kukin numeroinen luku käyttämällä moduulioperaattoria%. Luvun loppuosa, kun se jaetaan 10: llä, on numeron viimeinen numero. Otamme kuutiot eksponenttioperaattorilla.

Lopuksi verrataan summaa alkuperäiseen lukuun ja päätellään, että se on Armstrongin luku, jos ne ovat yhtä suuret.

Lähdekoodi: Tarkista Armstrongin määrä n numeroa

num = 1634 # Changed num variable to string, # and calculated the length (number of digits) order = len(str(num)) # initialize sum sum = 0 # find the sum of the cube of each digit temp = num while temp> 0: digit = temp % 10 sum += digit ** order temp //= 10 # display the result if num == sum: print(num,"is an Armstrong number") else: print(num,"is not an Armstrong number") 

Voit muuttaa lähdekoodin num-arvoa ja testata sitä uudelleen.

Mielenkiintoisia artikkeleita...