Рубрики
Без рубрики

Python – Проверьте, если номер Armstrong

Автор оригинала: Python Examples.

Python Program для проверки, если номер Armstrong

Говорят, что ряд n-цифр – армстронг, если он подчиняется следующим условиям.

abcd... = pow(a,n) +  pow(b,n) + pow(c,n) + ...

В этом руководстве мы напишем функцию Python, а также пройти примеры, где мы проверим, если данный номер – номер Armstrong или нет.

Функция Python Armstrong

Ниже приведена функция Python, которая принимает номер и проверки, если данное число Armstrong.

def armstrong(num):
	num = str(num)
	n = len(num)
	result = 0
	# compute pow(a,n)+pow(b,n)+...
	for i in num:
		result+=pow(int(i),n)
		#no need to check if part of the expansion exceeds the given number
		if(result>int(num)):
			break
	#check if given number equals expansion
	if(int(num)==result):
		return True
	else:
		return False

В приведенной выше функции мы определили следующую последовательность шагов.

  • Подумайте, что аргумент является строкой. Если нет, мы преобразуем его в строку, используя ул. (Num) Отказ
  • n (Num) Находит значение n, количество цифр в данном номере.
  • В Python для петли Мы вычислили сумму полномочий.
  • В Python, если еще Заявление, мы проверяем, равен ли аргументом результатам суммы уравнения полномочий. Если два числа равны, то данное число Armstrong, еще нет.

Пример 1: Проверьте, если указано номер Armstrong

В следующем примере мы прочитаем номер от пользователя и проверьте, является ли это число Armstrong.

Python Program

def armstrong(num):
	num = str(num)
	n = len(num)
	result = 0
	# compute pow(a,n)+pow(b,n)+...
	for i in num:
		result+=pow(int(i),n)
		#no need to check if part of the expansion exceeds the given number
		if(result>int(num)):
			break
	#check if given number equals expansion
	if(int(num)==result):
		return True
	else:
		return False

#read the number as a string
num = input('Enter a number: ')
result = armstrong(num)
print('Is ',num,' an Armstrong Numebr? ',result,sep="")

Выход

C:\python>python example.py
Enter a number: 123
Is 123 an Armstrong Numebr? False

C:\python>python example.py
Enter a number: 153
Is 153 an Armstrong Numebr? True

C:\python>python example.py
Enter a number: 1634
Is 1634 an Armstrong Numebr? True

C:\python>python example.py
Enter a number: 413
Is 413 an Armstrong Numebr? False

Резюме

В этом руководстве примеров Python мы узнали, как проверить, является ли данный номер Armstroung номер не.