কম্পিউটার

C++ এ বাল্ব সুইচার


ধরুন এন বাল্ব আছে যেগুলো প্রথমে বন্ধ হয়ে গেছে। আমরা প্রথমে সমস্ত বাল্ব চালু করি। তারপর, আমরা প্রতি দ্বিতীয় বাল্ব বন্ধ. তৃতীয় রাউন্ডে, আমরা প্রতি তৃতীয় বাল্বকে টগল করি (যদি এটি বন্ধ থাকে তবে এটি চালু করা বা এটি চালু থাকলে বন্ধ করা)। একইভাবে, i-th রাউন্ডের জন্য, আমরা প্রতিটি i বাল্ব টগল করি। n-তম রাউন্ডের জন্য, আমরা শুধুমাত্র শেষ বাল্বটি টগল করি। তাই n রাউন্ডের পর কতগুলো বাল্ব আছে তা আমাদের খুঁজে বের করতে হবে। তাই যদি ইনপুট 3 হয়, তাহলে ফলাফল হবে 1। এর কারণ −

  • প্রথমে, তিনটি বাল্ব [বন্ধ, বন্ধ, বন্ধ]।
  • প্রথম রাউন্ডের পর, তিনটি বাল্ব হল [চালু, চালু, চালু]৷
  • দ্বিতীয় রাউন্ডের পর, তিনটি বাল্ব [চালু, বন্ধ, চালু]।
  • তৃতীয় রাউন্ডের পরে, তিনটি বাল্ব [চালু, বন্ধ, বন্ধ]।

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

  • এই ধাপটি সোজা সামনে, আমাদের n এর বর্গমূল বের করতে হবে এবং ফিরতে হবে।

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
class Solution {
   public:
   int bulbSwitch(int n) {
      return sqrt(n);
   }
};
main(){
   Solution ob;
   cout << (ob.bulbSwitch(3));
}

ইনপুট

3

আউটপুট

1

  1. C++ এ বাল্ব সুইচার III

  2. লিনাক্সে C++ এর সেরা IDE কি?

  3. লিনাক্সে c++ এর জন্য শীর্ষ IDE কি?

  4. উইন্ডোতে c++ এর জন্য শীর্ষ IDE কি?