এখানে আমরা দেখব কিভাবে একটি দেওয়া সংখ্যার ফ্যাক্টরের ন্যূনতম যোগফল বের করতে হয়। ধরি একটি সংখ্যা ১২। এটিকে ভিন্ন ভিন্নভাবে ফ্যাক্টরাইজ করা যায়:
- 12 = 12 × 1 (12 + 1 = 13)
- 12 = 2 × 6 (2 + 6 = 8)
- 12 = 3 × 4 (3 + 4 = 7)
- 12 = 2 × 2 × 3 (2 + 2 + 3 = 7)
ন্যূনতম যোগফল ৭। আমরা একটি সংখ্যা নিব এবং তার ফ্যাক্টরের ন্যূনতম যোগফল বের করব। ন্যূনতম ফ্যাক্টর যোগফল পেতে হলে সংখ্যাকে যতদূর সম্ভব ফ্যাক্টরাইজ করতে হবে। অন্য কথায়, প্রাইম ফ্যাক্টরগুলো যোগ করলে যোগফল ন্যূনতম হবে।
উদাহরণ কোড
#include <iostream>
using namespace std;
int primeFactorSum(int n) {
int s = 0;
for (int i = 2; i * i <= n; i++) {
while (n % i == 0) {
s += i;
n /= i;
}
}
s += n;
return s;
}
int main() {
int n = 12;
cout << "Minimum sum of factors: " << primeFactorSum(n);
}
আউটপুট
Minimum sum of factors: 7