এই নিবন্ধে, আমরা নীচে দেওয়া সমস্যার বিবৃতিটির সমাধান সম্পর্কে শিখব −
সমস্যা বিবৃতি
একটি সংখ্যা ইনপুট n দেওয়া হলে, কাজটি হল একটি সংখ্যার জোড় গুণকের যোগফল বের করা।
এখানে আমাদের প্রথমে সমস্ত বিজোড় কারণগুলি দূর করতে হবে৷
যদি সংখ্যা ইনপুটটি বিজোড় হয় তবে এতে কোন জোড় গুণনীয়ক নেই তাই সরাসরি শূন্য ফেরত দেয়, অন্যথায়, আমরা নীচের কোডে পদ্ধতি অনুসরণ করব
নিচে বাস্তবায়ন করা হল -
উদাহরণ
import math # Returns sum of all even factors of n. def sumofFactors(n) : # If n is odd if (n % 2 != 0) : return 0 #all prime factors 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 # 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 # if n is prime number if (n >= 2) : res = res * (1 + n) return res # main n = 20 print(sumofFactors(n))
আউটপুট
36
সমস্ত ভেরিয়েবলগুলিকে গ্লোবাল ফ্রেমে ঘোষণা করা হয়েছে যেমন নীচে দেওয়া চিত্রে দেখানো হয়েছে −
উপসংহার
এই নিবন্ধে, আমরা একটি সংখ্যার জোড় গুণকের যোগফল খুঁজে বের করার পদ্ধতি সম্পর্কে শিখেছি