কম্পিউটার

C++ এ দরিদ্র শূকর


ধরুন 1000টি বালতি আছে, তার মধ্যে একটি বিষাক্ত, অন্যটি জলে ভরা। তারা সব একই চেহারা. একটি শূকর যদি বিষ পান করে তবে এটি 15 মিনিটের মধ্যে মারা যাবে। এক ঘণ্টার মধ্যে বিষাক্ত বালতি খুঁজে বের করতে আমাদের ন্যূনতম পরিমাণ শূকরের পরিমাণ কত হবে?

সুতরাং এখন সাধারণ ক্ষেত্রে বিবেচনা করুন এবং এটির জন্য একটি অ্যালগরিদম তৈরি করুন। সুতরাং, সাধারণ ঘটনা হল যে যদি n বিভিন্ন বালতি থাকে এবং একটি শূকর পান করা বিষ m মিনিটের মধ্যে মারা যায়, তাহলে p মিনিটের মধ্যে বিষাক্ত বালতি খুঁজে পেতে কতগুলি শূকর প্রয়োজন? ঠিক এক বালতি বিষ আছে।

যখন n =1000, m =15 এবং p =60, তখন আউটপুট হবে 5।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • ret :=0
  • যখন (minutesToTest / minutesToDie + 1)^ret
  • (রেট 1 দ্বারা বৃদ্ধি করুন)
  • রিটার্ন রিটার্ন
  • আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

    উদাহরণ

    #include <bits/stdc++.h>
    using namespace std;
    class Solution {
    public:
       int poorPigs(int buckets, int minutesToDie, int minutesToTest) {
          int ret = 0;
          while(pow((minutesToTest / minutesToDie + 1), ret) < buckets) ret++;
          return ret;
       }
    };
    main(){
       Solution ob;
       cout << (ob.poorPigs(1000,15,60));
    }

    ইনপুট

    1000
    15
    60

    আউটপুট

    5

    1. C++ এ গেম ভি জাম্প করুন

    2. C++ এ সুন্দর অ্যারে

    3. C++-এ K ডিজিটগুলি সরান

    4. C++ এ চারটি বিভাজক