Python-program til kontrol af Armstrong-nummer

I dette eksempel lærer du at kontrollere, om et n-cifret heltal er et Armstrong-tal eller ej.

For at forstå dette eksempel skal du have kendskab til følgende Python-programmeringsemner:

  • Python hvis … ellers Erklæring
  • Python mens Loop

Et positivt heltal kaldes et Armstrong antal af rækkefølge n hvis

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

I tilfælde af et Armstrong-antal på 3 cifre er summen af ​​terninger af hvert ciffer lig med selve tallet. For eksempel:

 153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 er et Armstrong-tal. 

Kildekode: Kontroller Armstrong-nummeret (for 3 cifre)

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

Udgang 1

 Indtast et nummer: 663 663 er ikke et Armstrong-nummer 

Udgang 2

 Indtast et tal: 407 407 er et Armstrong-nummer 

Her beder vi brugeren om et nummer og kontrollerer, om det er et Armstrong-nummer.

Vi er nødt til at beregne summen af ​​terningen for hvert ciffer. Så vi initialiserer summen til 0 og opnår hvert cifret nummer ved hjælp af moduloperatoren%. Resten af ​​et tal, når det divideres med 10, er det sidste ciffer i dette nummer. Vi tager terningerne ved hjælp af eksponentoperator.

Endelig sammenligner vi summen med det oprindelige tal og konkluderer, at det er Armstrong-nummer, hvis de er ens.

Kildekode: Kontroller Armstrong antal n cifre

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

Du kan ændre værdien af ​​num i kildekoden og køre igen for at teste den.

Interessante artikler...