Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python을 사용하여 주어진 범위 내에서 Kaprekar 번호를 찾는 방법은 무엇입니까?


수정된 Kaprekar 수는 d자리의 양의 정수 n입니다. 따라서 정사각형을 두 부분으로 나눌 때 오른쪽 조각 r은 d자리이고 왼쪽 조각은 l입니다. 나머지 d 또는 d−1 자리를 포함하는 경우 조각의 합은 원래 숫자와 같습니다(즉, l + r =n).

주어진 범위에서 주어진 조건에 대해 각 숫자를 테스트하여 주어진 범위 내에서 Kaprekar 숫자를 찾을 수 있습니다.

예시

def print_Kaprekar_nums(start, end):for i in range(start, end + 1):# 목록의 사각형에서 숫자를 가져옵니다. sqr =i ** 2자리 =str(sqr) # 이제 다음에서 루프 1에서 숫자의 길이 - 1, 양변을 더하고 length =len(digits) for x in range(1, length):left =int("".join(digits[:x])) right =int( "".join(digits[x:])) if (left + right) ==i:print("숫자:" + str(i) + "왼쪽:" + str(왼쪽) + " 오른쪽:" + str (오른쪽))print_Kaprekar_nums(150, 8000)

출력

이것은 출력을 제공합니다 -

<이전>번호:297왼쪽:88 오른쪽:209번호:703왼쪽:494 오른쪽:209번호:999왼쪽:998 오른쪽:1번호:1000왼쪽:47왼쪽:1000 오른쪽:0번호:82223왼쪽:17292오른쪽 오른쪽:4641숫자:4950왼쪽:2450 오른쪽:2500숫자:5050왼쪽:2550 오른쪽:2500숫자:5292왼쪽:28 오른쪽:5264숫자:7272왼쪽:7:5288 오른쪽:19774