출력 방법: 먼저 for 문을 사용하여 100부터 999까지의 모든 숫자를 반복하고 이를 변수 n에 할당한 다음 변수 n을 분해하여 일 자리 k, 십 자리 j 및 백 자리 i를 얻습니다. i 숫자, j, k의 세제곱의 합이 n과 같습니까? 그렇다면 "print(n)" 문을 사용하여 출력하세요.
이 튜토리얼의 운영 환경: windows7 시스템, python3.7 버전, DELL G3 컴퓨터
소위 "수선화 숫자"는 각 숫자의 세제곱의 합인 세 자리 숫자를 나타냅니다. 숫자 자체와 같습니다. 예: 153=1 세제곱 + 5 세제곱 + 3 세제곱이므로 153은 "수선화 수"입니다.
Python은 모든 수선화 숫자를 출력합니다
for n in range(100,1000): i = n // 100 j = n // 10 % 10 k = n % 10 if n == i ** 3 + j ** 3 + k ** 3: print (n)
출력:
153 370 371 407
자세한 설명
프로그램 분석: for 루프를 사용하여 100~999개의 숫자를 제어하고 각 숫자를 단위, 십, 백으로 분해합니다.
첫 번째 줄:
for n in range(100,1000):
수선화 숫자는 세 자리 숫자이므로 100부터 999까지의 모든 숫자를 반복하여 n에 할당합니다.
두 번째 줄:
i = n // 100
100을 n으로 나누면 어떻게 될까요? get은 실제로 세 자리 백 자리이므로 i
에 할당합니다. 세 번째 줄:
j = n // 10 % 10
10을 n으로 나누면 백과 십으로 구성된 두 자리 숫자를 얻은 다음 이 숫자를 10으로 나누면 다음과 같이 됩니다. 나머지를 찾으면 10자리 숫자를 얻을 수 있습니다. j
네 번째 줄:
k = n % 10
n을 10으로 나누고 나머지를 찾으면 한 자리 숫자 n을 얻게 됩니다. 이때 세자리 n의 백자리, 십자리, 일자리를 구해서 각각 i, j, k에 할당했습니다
다섯 번째 줄:
if n == i ** 3 + j ** 3 + k ** 3:
판결: n이면 같습니다. 백 자리 세제곱 + 십 자리 세제곱 + 한 자리 세제곱이면 수선화 수입니다. 이때 조건에 맞는 n을 출력하세요. 그렇지 않으면 다음 루프로 들어갑니다
[관련] 권장 사항: Python3 비디오 튜토리얼】
위 내용은 파이썬에서 모든 수선화의 수를 출력하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!