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

N থেকে ছোট বা সমান সংখ্যা যাদের যোগফল S হয় এমন ন্যূনতম সংখ্যা C++-তে


সমস্যা বিবরণ

১ থেকে 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

  1. ২-এর ঘাত গঠিত Kটি সংখ্যা যাদের যোগফল N (C++)

  2. C++-এ Y-র চেয়ে ছোট নম্বর দিয়ে মিনিমাম সেট বের করা

  3. C++ ব্যবহার করে যোগফল n করার জন্য ক্ষমতার পদের ন্যূনতম সংখ্যা বের করা

  4. C++ প্রোগ্রাম: দুটি সংখ্যা বের করা যাদের যোগফল ও গুণফল N-র সমান