सौहार्दपूर्ण संख्याएं दो अलग-अलग संख्याएं हैं जो इतनी संबंधित हैं कि प्रत्येक के उचित भाजक का योग दूसरी संख्या के बराबर है। जब यह जांचने की आवश्यकता होती है कि क्या दो संख्याएँ सौहार्दपूर्ण संख्याएँ हैं, तो एक विधि को परिभाषित किया जा सकता है जो संख्या पर पुनरावृति करती है, और मापांक ऑपरेटर का उपयोग करती है। एक अन्य विधि परिभाषित की गई है जो पहले परिभाषित फ़ंक्शन को यह निर्धारित करने के लिए कॉल करती है कि दो नंबर सौहार्दपूर्ण हैं या नहीं।
नीचे उसी का प्रदर्शन है -
उदाहरण
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' नाम की एक विधि परिभाषित की गई है जो एक पूर्णांक लेता है जिसमें पैरामीटर होता है।
-
यह मान के माध्यम से पुनरावृति करने के लिए 'फॉर' लूप का उपयोग करता है और संख्या की विभाज्यता की जांच करता है।
-
यदि इटरेटर इटरेटर द्वारा विभाजित मान के बराबर है, तो इसे इटरेटर द्वारा बढ़ाया जाता है।
-
अन्यथा, पूरी विभाजित संख्या जोड़ दी जाती है।
-
'check_amicable' नाम की एक अन्य विधि परिभाषित की गई है, जिसमें दो नंबर लगते हैं।
-
यह 'divided_sum_val' कहता है और परिकलित मान के आधार पर 'सही' या 'गलत' लौटाता है।
-
दो नंबर परिभाषित हैं, और कंसोल पर प्रदर्शित होते हैं।
-
इन दो नंबरों को पास करके विधि कहा जाता है।
-
आउटपुट के आधार पर, प्रासंगिक संदेश कंसोल पर प्रदर्शित होता है।