দুটি ধনাত্মক সংখ্যা num1 এবং num2 দেওয়া আছে। উভয় সংখ্যায় নির্দিষ্ট অঙ্ক প্রতিস্থাপন করে যেতে পারি। লক্ষ্য হল এই প্রতিস্থাপনের পর দুটি সংখ্যার সর্বোচ্চ ও সর্বনিম্ন যোগফল খুঁজে বের করা।
উদাহরণ ১
num1 = 3224, num2 = 4321
আউটপুট: Maximum sum is : 8645 Minimum sum is : 6544
ব্যাখ্যা: ৩ কে ৪ দিয়ে প্রতিস্থাপন করলে দুটি সংখ্যাও বড় হয় (4224 + 4421 = 8645)। ৪ কে ৩ দিয়ে প্রতিস্থাপন করলে দুটি সংখ্যাও ছোট হয় (3223 + 3321 = 6544)।
উদাহরণ ২
num1 = 3111, num2 = 4111
আউটপুট: Maximum sum is : 8222 Minimum sum is : 6222
অ্যালগরিদম
- ফাংশন
replace(x, digit1, digit2)সংখ্যা x-এ digit1-এর সব ঘটনা digit2 দিয়ে প্রতিস্থাপন করে নতুন সংখ্যা ফেরত দেয়। - ন্যূনতম যোগফলের জন্য: উভয় সংখ্যায় ৪ কে ৩ দিয়ে প্রতিস্থাপন করুন এবং যোগফল বের করুন।
- সর্বোচ্চ যোগফলের জন্য: উভয় সংখ্যায় ৩ কে ৪ দিয়ে প্রতিস্থাপন করুন এবং যোগফল বের করুন।
C++ প্রোগ্রাম
#include <bits/stdc++.h>
using namespace std;
int replace(int x, int digit1, int digit2) {
int number = 0, temp = 1;
while (x > 0) {
int rem = x % 10;
if (rem == digit1) number += digit2 * temp;
else number += rem * temp;
temp *= 10;
x /= 10;
}
return number;
}
void calculateSum(int n1, int n2) {
int num1 = replace(n1, 4, 3);
int num2 = replace(n2, 4, 3);
int minSum = num1 + num2;
num1 = replace(n1, 3, 4);
num2 = replace(n2, 3, 4);
int maxSum = num1 + num2;
cout << "Minimum Sum by digit replacement: " << minSum;
cout << "\nMaximum Sum by digit replacement: " << maxSum;
}
int main() {
int num1 = 3131, num2 = 4141;
calculateSum(num1, num2);
return 0;
}
আউটপুট: Minimum Sum by digit replacement: 6262 Maximum Sum by digit replacement: 8282