В този пример ще се научите да проверявате дали n-цифрено цяло число е число на Армстронг или не.
За да разберете този пример, трябва да имате познанията по следните теми за програмиране на Python:
- Изявление на Python if … else
- Python докато Loop
Положително цяло число се нарича число на Армстронг от порядък n, ако
abcd … = a n + b n + c n + d n + …
В случай на число на Армстронг от 3 цифри, сумата от кубчета от всяка цифра е равна на самото число. Например:
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 е число на Армстронг.
Изходен код: Проверете номера на Армстронг (за 3 цифри)
# 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")
Изход 1
Въведете число: 663 663 не е число на Армстронг
Изход 2
Въведете число: 407 407 е число на Армстронг
Тук искаме от потребителя номер и проверяваме дали е номер на Армстронг.
Трябва да изчислим сумата от куба на всяка цифра. И така, инициализираме сумата до 0 и получаваме всяко цифрено число, като използваме модулния оператор%. Остатъкът от число, когато е разделен на 10, е последната цифра от това число. Взимаме кубчетата с помощта на експонентен оператор.
Накрая сравняваме сумата с оригиналното число и заключаваме, че това е число на Армстронг, ако те са равни.
Изходен код: Проверете броя на Армстронг от n цифри
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")
Можете да промените стойността на num в изходния код и да стартирате отново, за да го тествате.