Selles näites saate teada, kas n-kohaline täisarv on Armstrongi number või mitte.
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 +…
Armstrongi 3-kohalise arvu korral võrdub iga numbri kuubikute summa arv ise. Näiteks:
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 on Armstrongi arv.
Lähtekood: Kontrollige Armstrongi numbrit (3 numbrit)
# 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")
Väljund 1
Sisestage number: 663 663 ei ole Armstrongi number
Väljund 2
Sisestage number: 407 407 on Armstrongi number
Siin küsime kasutajalt numbrit ja kontrollime, kas see on Armstrongi number.
Peame arvutama iga numbri kuubi summa. Seega lähtestame summa 0-ks ja saame iga numbri numbri, kasutades moodulioperaatorit%. Numbri ülejäänud arv, kui see jagatakse 10-ga, on selle numbri viimane number. Kuubikud võtame eksponentoperaatori abil.
Lõpuks võrdleme summat algarvuga ja järeldame, et see on Armstrongi arv, kui need on võrdsed.
Lähtekood: kontrollige Armstrongi arvu n numbrit
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")
Lähtekoodis saate numbri väärtust muuta ja selle testimiseks uuesti käivitada.