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

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


এই সেকশনে আমরা দেখব কীভাবে আমরা একটি সংখ্যার সব জোড় প্রাইম ফ্যাক্টরগুলোর যোগফল দক্ষভাবে বের করতে পারি। একটি সংখ্যা ধরি n = 480, আমাদের এর সব ফ্যাক্টর বের করতে হবে। 480-এর প্রাইম ফ্যাক্টরগুলো হলো 2, 2, 2, 2, 2, 3, 5। সব জোড় ফ্যাক্টরগুলোর যোগফল 2+2+2+2+2 = 10। এই সমস্যা সমাধানের জন্য আমাদের এই নিয়ম ফলো করতে হবে:

  • যখন সংখ্যা ২ দ্বারা বিভাজ্য, সেগুলো যোগফলে যোগ করুন, এবং সংখ্যাকে ২ দিয়ে বারবার ভাগ করুন।

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

বেশতর আইডিয়ার জন্য অ্যালগরিদম দেখি।

অ্যালগরিদম

printPrimeFactors(n)

begin
    sum := 0
    while n is divisible by 2, do
        sum := sum + 2
        n := n / 2
    done
end

উদাহরণ

#include<iostream>
using namespace std;
int sumEvenFactors(int n){
    int i, sum = 0;
    while(n % 2 == 0){
        sum += 2;
        n = n/2; // ২ দিয়ে ভাগ করে n কমানো
    }
    return sum;
}
main() {
    int n;
    cout << "Enter a number: ";
    cin >> n;
    cout << "Sum of all even prime factors: " << sumEvenFactors(n);
}

আউটপুট

Enter a number: 480 Sum of all even prime factors: 10

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

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

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

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