English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
두 정수 사이의 모든 Armstrong 수를 찾는 예제를 보여줍니다. 이 문제를 해결하기 위해 중첩 루프와 if 문을 사용했습니다.
이 예제를 이해하려면 다음을 이해해야 합니다파이썬 프로그래밍주제:
정수가 n 차원 Armstrong 수로 불리며,
abcd... = an + bn + cn + dn + ...
예를 들어,
153 = 1*1*1 + 5*5*5 + 3*3*3 // 153 is an Armstrong number.
이를 이해하려면 다음을 이해해야 합니다파이썬에서 숫자가 Armstrong 숫자인지 확인하세요。
# 파이썬 프로그램이 정수에서 Armstrong 수를 찾는다 lower = 100 upper = 2000 for num in range(lower, upper + 1) # order 개수 order = len(str(num)) # sum 초기화 sum = 0 temp = num while temp > 0: digit = temp % 10 sum += digit ** order temp //= 10 if num == sum: print(num)
출력 결과
153 370 371 407 1634
이곳에서는 변수 lower에 하한을 설정했습니다100을 변수 upper에 상한으로 설정했습니다2000. for 루프를 사용하여 변수 lower에서 upper까지 반복합니다. 반복 중 lower의 값은 증가합니다1을 확인하세요.
범위를 변경하고 변수 lower 및 upper를 변경하여 테스트할 수 있습니다. 주의할 것은, 이 프로그램이 정상적으로 작동하려면 변수 lower가 upper보다 작아야 합니다.