Python Armstrong 숫자 검사기
숫자가 자릿수만큼 거듭제곱된 자릿수의 합이 숫자 자체와 같은 암스트롱(자기애적) 숫자인지 확인합니다.
개요
암스트롱 수(자기애적 또는 다완료 디지털 불변 수라고도 함)는 해당 숫자의 n제곱의 합과 같은 n자리 숫자입니다.
예를 들어 1^3 + 5^3 + 3^3 = 153이므로 153은 3자리 암스트롱 숫자입니다. 마찬가지로 9^4 + 4^4 + 7^4 + 4^4 = 9474이므로 9474는 4자리 암스트롱 숫자입니다.
우리는 쉽게 자릿수를 계산하고 각 자릿수를 반복하기 위해 정수를 문자열로 변환하여 Python에서 이를 구현합니다.
코드 및 실행 출력
일련의 숫자를 확인하여 암스트롱 숫자의 수학적 기준을 충족하는지 확인하십시오.
armstrong.py
에디터에서 사용해 보세요def is_armstrong(num):
num_str = str(num)
n = len(num_str)
digit_sum = sum(int(digit) ** n for digit in num_str)
return digit_sum == num
test_nums = [153, 370, 9474, 123]
for val in test_nums:
result = "Armstrong" if is_armstrong(val) else "Not Armstrong"
print(f"{val:4d} -> {result}")터미널 출력
153 -> Armstrong
370 -> Armstrong
9474 -> Armstrong
123 -> Not Armstrong단계별 구현
- 정수론 연구 및 논리 연습
- 교실 수학 프로그래밍 과제
- 레크리에이션 프로그래밍
자주 묻는 질문
한 자리 숫자는 모두 암스트롱 번호인가요?
그렇습니다. 1의 거듭제곱으로 올린 모든 한 자리 숫자는 그 자체와 같습니다(예: 5^1 = 5).