এই প্রোগ্রামটি সমস্ত জোড় ফ্যাক্টর খুঁজে বের করতে এবং এই জোড় ফ্যাক্টরগুলির যোগফল গণনা করতে এবং এটিকে আউটপুট হিসাবে প্রদর্শন করতে ব্যবহৃত হয়।
উদাহরণ -
Input : 30 Even dividers : 2+6+10+30 = 48 Output : 48
এর জন্য, আমরা সমস্ত কারণ খুঁজে পাব। তাদের জোড় খুঁজুন এবং যোগফল খুঁজুন,
অন্যথায়, আমরা প্রাইম ফ্যাক্টর ব্যবহার করে ফ্যাক্টরের যোগফল বের করতে সূত্রটি ব্যবহার করব,
Sum of divisors = (1 + d11 + d12 ... d1a1) *(1 + d21 + d22 ... d2a2) *...........................* (1 + dk1 + dk2 ... dkak) Here di = prime factors ; ai = power of di
আমাদের শুধু জোড় গুণনীয়ক দরকার তাই, সংখ্যাটি বিজোড় হলে কোনো জোড় গুণনীয়ক নেই। সুতরাং, আমরা সেই ক্ষেত্রে 0 আউটপুট করব।
উদাহরণ
#include <iostream> #include <math.h> using namespace std; int main() { int n=12; int m = n; if (n % 2 != 0) cout<<"The sum of all even factors of " << n <<" is "<<0; int evfac = 1; for (int i = 2; i <= sqrt(n); i++) { int count = 0, curr_sum = 1, curr_term = 1; while (n % i == 0) { count++; n = n / i; if (i == 2 && count == 1) curr_sum = 0; curr_term *= i; curr_sum += curr_term; } evfac *= curr_sum; } if (n >= 2) evfac *= (1 + n); cout <<"The sum of all even factors of " << m <>" is "<>evfac; return 0; }
আউটপুট
The sum of all even factors of 12 is 24