কম্পিউটার টিউটোরিয়াল

C++-এ একটি সংখ্যার জোড় ফ্যাক্টরগুলোর যোগফল (Sum of Even Factors)


এই প্রোগ্রামটি একটি সংখ্যার সব জোড় ফ্যাক্টর খুঁজে বের করে এবং তাদের যোগফল গণনা করে আউটপুট হিসেবে দেখায়।

উদাহরণ:

ইনপুট: 30 জোড় ভাজক: 2+6+10+30 = 48 আউটপুট: 48

এই জন্য, আমরা সব ফ্যাক্টর বের করব। তাদের মধ্যে জোড়গুলো খুঁজে বের করব এবং যোগফল বের করব।

অথবা, আমরা প্রাইম ফ্যাক্টর ব্যবহার করে ফ্যাক্টরগুলোর যোগফল বের করার ফর্মুলা ব্যবহার করতে পারি,

Sum of divisors = (1 + d11 + d12 ... d1a1) * (1 + d21 + d22 ... d2a2) * ... * (1 + dk1 + dk2 ... dkak) এখানে di = প্রাইম ফ্যাক্টর; ai = di-এর পাওয়ার

আমাদের শুধু জোড় ফ্যাক্টর দরকার, তাই যদি সংখ্যাটি বিজোড় হলে কোনো জোড় ফ্যাক্টর থাকবে না। সেক্ষেত্রে আমরা ০ আউটপুট দেব।

উদাহরণ

#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

  1. C++ প্রোগ্রাম: একটি নম্বরের অড ফ্যাক্টরগুলোর যোগফল বের করা

  2. একটি সংখ্যার ফ্যাক্টরগুলির ন্যূনতম যোগফল বের করার জাভা প্রোগ্রাম

  3. একটি সংখ্যার সম ফ্যাক্টরের যোগফল বের করার পাইথন প্রোগ্রাম

  4. পাইথনে একটি সংখ্যার জোড় গুণনীয়গুলোর যোগফল বের করার প্রোগ্রাম