এই নিবন্ধে, আমরা নীচে দেওয়া সমস্যার বিবৃতিটির সমাধান সম্পর্কে জানব৷
সমস্যা বিবৃতি − আমাদের একটি সংখ্যা দেওয়া হয়েছে, আমাদের সংখ্যাটির সমস্ত জোড় গুণকের যোগফল প্রদর্শন করতে হবে৷
পন্থা
আমরা সংখ্যাটি বিজোড় কিনা তা পরীক্ষা করি, তারপরে কোন জোড় গুণনীয়ক নেই, তাই 0 ফেরত দিন।
সংখ্যাটি জোড় হলে, আমরা গণনার মধ্য দিয়ে যাই। 20 ব্যতীত অন্য সকল পদ একটি জোড় গুণনীয়ক যোগফল তৈরি করতে গুণ করে।
সমস্ত বিজোড় সংখ্যাকে জোড় গুণনীয়ক থেকে সরাতে, আমরা 20 উপেক্ষা করি যা 1। এই ধাপের পরে, আমরা শুধুমাত্র জোড় গুণনীয়ক পেয়েছি। মনে রাখবেন যে 2 আমাদের কাছে উপলব্ধ একমাত্র জোড় প্রাইম।
এখন আসুন নীচের বাস্তবায়ন দেখি-
উদাহরণ
# math module import math # Returns sum of all # factors of n. def sumofevenFactors(n) : # If n is odd if (n % 2 != 0) : return 0 # Traversal res = 1 for i in range(2, (int)(math.sqrt(n)) + 1) : # if i divides n count = 0 curr_sum = 1 curr_term = 1 while (n % i == 0) : count= count + 1 n = n // i # here we remove the # 2^0 that is 1. All # other factors if (i == 2 and count == 1) : curr_sum = 0 curr_term = curr_term * i curr_sum = curr_sum + curr_term res = res * curr_sum # when n is a prime number if (n >= 2) : res = res * (1 + n) return res # main n = 22 print(sumofevenFactors(n))
আউটপুট
24
উপরের চিত্রে দেখানো হিসাবে সমস্ত ভেরিয়েবল এবং ফাংশন গ্লোবাল স্কোপে ঘোষণা করা হয়েছে।
উপসংহার
এই নিবন্ধে, আমরা শিখেছি কিভাবে আমরা একটি সংখ্যার জোড় গুণনীয়কের যোগফল বের করতে পারি।