मान लीजिए हमारे पास एक संख्या n है, हमें इसके भाजकों की कुल संख्या सम है या विषम यह ढूंढना है।
उदाहरण के लिए, यदि n = 75 है, तो आउटपुट "Even" होगा क्योंकि भाजक हैं [1, 3, 5, 15, 25, 75] - कुल 6 भाजक।
हल करने का तरीका
हमने देखा है कि जब कोई संख्या पूर्ण वर्ग होती है तभी उसके भाजकों की संख्या विषम होती है। इसलिए यदि संख्या पूर्ण वर्ग नहीं है तो इसके भाजक सम संख्या में होंगे। यहां हम केवल जांचेंगे कि संख्या पूर्ण वर्ग है या नहीं और इसके आधार पर "odd" या "even" लौटाएंगे।
- यदि n < 1, तो लौटें
- sqrt := n का वर्गमूल
- यदि sqrt × sqrt == n, तो 'Odd' लौटाएं
- अन्यथा 'Even' लौटाएं
उदाहरण
def solve(n):
if n < 1:
return
sqrt = n ** 0.5
if sqrt * sqrt == n:
return 'Odd'
else:
return 'Even'
n = 75
print(solve(n))
इनपुट
75
आउटपुट
Even