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

C++ কোড: কয়টি শিটের প্যাক কিনতে হবে গণনা


মান লক্ষ্য করুন চারটি সংখ্যা k, n, s এবং p। কাগজের বিমান বানাতে রেক্ট্যাঙ্গুলার কাগজ ব্যবহার করা হয়। একটি স্ট্যান্ডার্ড সাইজের শিট থেকে s টি বিমান বানানো যায়। k জনের একটি গ্রুপ প্রতিটি n টি বিমান বানাতে সিদ্ধান্ত নিয়েছে। তারা কয়েকটি প্যাক কাগজ কিনবে, প্রতিটি প্যাকে p টি শিট থাকবে, এবং তারপর শিটগুলো মানুষদের মধ্যে বাঁটবে। প্রতিটি ব্যক্তির পাসে n টি ভিন্ন বিমান বানাতে পর্যাপ্ত শিট থাকতে হবে। আমাদের কতগুলো প্যাক কিনতে হবে তা গণনা করতে হবে।

তাই, যদি ইনপুট হয় k = 5; n = 3; s = 2; p = 3, তবে আউটপুট হবে ৪, কারণ তাদের ৪ প্যাক কিনতে হবে: মোট ১২ টি শিট হবে, প্রত্যেককে ২ টি শিট দিয়ে দেবে।

ধাপসমূহ

এটি সমাধান করার জন্য, আমরা এই ধাপগুলো অনুসরণ করব −

ans := k * ((n + s - 1) / s)
return (ans + p - 1) / p

উদাহরণ

বेहतर বোঝার জন্য ইমপ্লিমেন্টেশন দেখি −

#include <bits/stdc++.h>
using namespace std;
int solve(int k, int n, int s, int p){
    int ans = k * ((n + s - 1) / s);
    return (ans + p - 1) / p;
}
int main(){
    int k = 5;
    int n = 3;
    int s = 2;
    int p = 3;
    cout << solve(k, n, s, p) << endl;
}

ইনপুট

5, 3, 2, 3

আউটপুট

4

  1. C++-এ একটি সংখ্যার সব পারফেক্ট ডিভাইজার গণনা

  2. C++-এ একটি সংখ্যার প্রাইমোরিয়াল (Primorial)

  3. C++-এ গ্রে কোড (Gray Code) জেনারেট

  4. C++-এ অ্যারিথমেটিক নম্বর