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

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