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.