एक संशोधित कापरेकर संख्या d अंकों के साथ एक सकारात्मक पूर्ण संख्या n है, जैसे कि जब हम इसके वर्ग को दो टुकड़ों में विभाजित करते हैं - एक दाहिने हाथ का टुकड़ा r d अंकों के साथ और एक बाएं हाथ का टुकड़ा l जिसमें शेष d या d−1 अंक होते हैं, टुकड़ों का योग मूल संख्या (यानी l + r =n) के बराबर होता है।
आप दी गई श्रेणी में दी गई स्थिति के लिए प्रत्येक संख्या का परीक्षण करके किसी दी गई सीमा के भीतर कापरेकर संख्याएं पा सकते हैं।
उदाहरण
def print_Kaprekar_nums(start, end): for i in range(start, end + 1): # Get the digits from the square in a list: sqr = i ** 2 digits = str(sqr) # Now loop from 1 to length of the number - 1, sum both sides and check length = len(digits) for x in range(1, length): left = int("".join(digits[:x])) right = int("".join(digits[x:])) if (left + right) == i: print("Number: " + str(i) + "Left: " + str(left) + " Right: " + str(right)) print_Kaprekar_nums(150, 8000)
आउटपुट
यह आउटपुट देगा -
Number: 297Left: 88 Right: 209 Number: 703Left: 494 Right: 209 Number: 999Left: 998 Right: 1 Number: 1000Left: 1000 Right: 0 Number: 2223Left: 494 Right: 1729 Number: 2728Left: 744 Right: 1984 Number: 4879Left: 238 Right: 4641 Number: 4950Left: 2450 Right: 2500 Number: 5050Left: 2550 Right: 2500 Number: 5292Left: 28 Right: 5264 Number: 7272Left: 5288 Right: 1984 Number: 7777Left: 6048 Right: 1729