इस लेख में, हम नीचे दिए गए प्रॉब्लम स्टेटमेंट के समाधान के बारे में सीखेंगे:
प्रॉब्लम स्टेटमेंट
एक नंबर इनपुट n दिए जाने पर, कार्य संख्या के ऑड फैक्टर्स का योग निकालना है।
यहां हमें पहले सभी इवन फैक्टर्स को समाप्त करने की आवश्यकता है।
सभी इवन फैक्टर्स को हटाने के लिए, हम n को बार-बार तब तक विभाजित करते हैं जब तक यह 2 से विभाज्य है। इस चरण के बाद, हमें केवल संख्या के ऑड फैक्टर्स मिलते हैं।
नीचे कार्यान्वयन दिया गया है:
उदाहरण
import math
def sumofoddFactors(n):
# प्राइम फैक्टर्स
res = 1
# इवन फैक्टर्स को अनदेखा करें
while n % 2 == 0:
n = n // 2
for i in range(3, int(math.sqrt(n) + 1)):
count = 0
curr_sum = 1
curr_term = 1
while n % i == 0:
count += 1
n = n // i
curr_term *= i
curr_sum += curr_term
res *= curr_sum
# n एक प्राइम नंबर है
if n >= 2:
res *= (1 + n)
return res
# मेन
n = 27
print(sumofoddFactors(n))
आउटपुट
41
सभी वेरिएबल्स ग्लोबल फ्रेम में घोषित हैं जैसा कि नीचे दी गई आकृति में दिखाया गया है:

निष्कर्ष
इस लेख में, हमने संख्या के ऑड फैक्टर्स का योग निकालने के दृष्टिकोण के बारे में सीखा।