मैत्रीपूर्ण संख्याएं दो अलग-अलग संख्याएं हैं जो इस तरह संबंधित हैं कि प्रत्येक के उचित भाजकों का योग दूसरी संख्या के बराबर होता है। जब जांचना आवश्यक हो कि दो संख्याएं मैत्रीपूर्ण संख्याएं हैं या नहीं, तो एक मेथड परिभाषित किया जा सकता है जो नंबर पर पुनरावृति करता है, और मॉड्यूलस ऑपरेटर का उपयोग करता है। एक और मेथड परिभाषित किया जाता है जो पहले से परिभाषित फंक्शन को कॉल करके निर्धारित करता है कि दो संख्याएं मैत्रीपूर्ण हैं या नहीं।
नीचे इसका प्रदर्शन दिया गया है:
उदाहरण
import math
def divided_sum_val(my_val):
res = 0
for i in range(2, int(math.sqrt(my_val)) + 1):
if (my_val % i == 0):
if (i == int(my_val / i)):
res = res + i
else:
res = res + (i + int(my_val / i))
return (res + 1)
def check_amicable(x, y):
if (divided_sum_val(x) != y):
return False
return (divided_sum_val(y) == x)
first_num = 220
second_num = 288
print("The numbers are :")
print(first_num)
print(second_num)
if (check_amicable(first_num, second_num)):
print("The given numbers are amicable in nature")
else:
print("The given numbers are not amicable in nature")
आउटपुट
The numbers are : 220 288 The given numbers are not amicable in nature
व्याख्या
'divided_sum_val' नामक एक मेथड परिभाषित किया गया है जो पैरामीटर के रूप में एक इंटीजर लेता है।
यह मान के माध्यम से पुनरावृति करने के लिए 'for' लूप का उपयोग करता है और संख्या की विभाज्यता की जांच करता है।
यदि इटरेटर मान को इटरेटर से विभाजित करने के बराबर है, तो इसे इटरेटर द्वारा बढ़ाया जाता है।
अन्यथा, पूरी विभाजित संख्या जोड़ी जाती है।
'check_amicable' नामक एक और मेथड परिभाषित किया गया है, जो दो संख्याएं लेता है।
यह 'divided_sum_val' को कॉल करता है और गणना किए गए मान के आधार पर 'True' या 'False' लौटाता है।
दो संख्याएं परिभाषित की गई हैं, और कंसोल पर प्रदर्शित की गई हैं।
इन दो संख्याओं को पास करके मेथड बुलाया जाता है।
आउटपुट के आधार पर, प्रासंगिक मैसेज कंसोल पर प्रदर्शित होता है।