একটি সংখ্যার গুণনীয়কের ন্যূনতম যোগফল খুঁজে বের করার প্রোগ্রাম। এই সমস্যা সমাধানের জন্য যুক্তি হল, সমস্ত ফ্যাক্টর সেট খুঁজুন এবং তাদের যোগ করুন। ফ্যাক্টরগুলির প্রতিটি সেটের জন্য, আমরা একই কাজ করব এবং তারপরে তাদের সকলের তুলনা করব। তারপর এই সমস্ত ন্যূনতম যোগফল খুঁজে বের করুন।
Input: n=12 Output: 7
ব্যাখ্যা
প্রথমে n সংখ্যার গুণনীয়কগুলি খুঁজুন তারপর তাদের যোগ করুন এবং যোগফলকে ছোট করার চেষ্টা করুন। 12টি ফ্যাক্টরাইজ করার বিভিন্ন উপায় এবং ফ্যাক্টরগুলির যোগফল বিভিন্ন উপায়ে।
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 Therefore minimum sum is 7
উদাহরণ
#include<iostream> using namespace std; int main() { int n = 12; int sum = 0; for (int i = 2; i * i <= n; i++) { while (n % i == 0) { sum += i; n /= i; } } sum += n; cout << sum; return 0; }