এই আর্টিকেলে আমরা নিচের সমস্যা বিবৃতির সমাধান শিখব:
সমস্যা বিবৃতি
একটি সংখ্যা n ইনপুট দেওয়া থাকলে, সেই সংখ্যার বিষম গুণনীয়গুলোর যোগফল বের করতে হবে।
এখানে আমাদের প্রথমে সব জোড় গুণনীয় বাদ দিতে হবে।
সব জোড় গুণনীয় বাদ দিতে, n কে ২ দিয়ে বারবার ভাগ করুন যতক্ষণ না ২ দিয়ে বিভাজ্য থাকে। এই ধাপের পর শুধু সংখ্যার বিষম গুণনীয়গুলো বাকি থাকবে।
নিচে বাস্তবায়নটি দেওয়া হলো:
উদাহরণ
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
# main
n = 27
print(sumofoddFactors(n))
আউটপুট
41
নিচের চিত্রে দেখানো হয়েছে সমস্ত চরবিশেষ গ্লোবাল ফ্রেমে ঘোষণা করা হয়েছে।

উপসংহার
এই আর্টিকেলে আমরা একটি সংখ্যার বিষম গুণনীয়গুলোর যোগফল বের করার পদ্ধতি শিখেছি।