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

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


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

  • প্রথমে, তিনটি বাল্ব [off, off, off]।
  • প্রথম রাউন্ডের পর, তিনটি বাল্ব [on, on, on]।
  • দ্বিতীয় রাউন্ডের পর, তিনটি বাল্ব [on, off, on]।
  • তৃতীয় রাউন্ডের পর, তিনটি বাল্ব [on, off, off]।

এটি সমাধান করতে আমরা নিম্নলিখিত ধাপগুলি অনুসরণ করব −

  • এই ধাপটি সোজা, আমাদের 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 কী? (আলাদা লেখা)