সমস্যা বিবরণ
১ থেকে N পর্যন্ত সংখ্যা এবং একটি সংখ্যা S দেওয়া আছে। কাজ হলো যোগফল S দিতে ন্যূনতম কতগুলো সংখ্যা লাগবে তা প্রিন্ট করা।
উদাহরণ
n = 7 এবং s = 10 হলে ন্যূনতম ২টি সংখ্যা দরকার:
(9, 1) (8, 2) (7, 3) (6, 4)
অ্যালগরিদম
উত্তর নিচের সূত্র দিয়ে বের করা যায়: (S/N) + 1 যদি { S % N > 0 }
উদাহরণ
#include <bits/stdc++.h>
using namespace std;
int getMinNumbers(int n, int s) {
return s % n ? s / n + 1 : s / 2;
}
int main() {
int n = 7;
int s = 10;
cout << "Required minimum numbers = " << getMinNumbers(n, s) << endl;
return 0;
}
উপরের প্রোগ্রাম কম্পাইল ও এক্সিকিউট করলে নিচের আউটপুট জেনারেট হবে
আউটপুট
Required minimum numbers = 2