파이썬에서 모든 수선화의 수를 출력하는 방법

青灯夜游
풀어 주다: 2023-01-05 16:14:12
원래의
70422명이 탐색했습니다.

출력 방법: 먼저 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿