ধরুন আমাদের একটি সংখ্যা n এবং আরেকটি মান k আছে। আমাদের পরীক্ষা করতে হবে n-এ kth বিট সেট (1) নাকি আনসেট (0)। k-এর মান ডান দিক থেকে বিবেচনা করা হয়।
সুতরাং, যদি ইনপুটটি n =18 k =2 এর মত হয়, তাহলে আউটপুটটি 18 এর বাইনারি ফর্ম হিসাবে সেট করা হবে 10010 তাই দ্বিতীয় শেষ বিটটি 1 (সেট)।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- temp :=n বিট (k - 1) বার ডানদিকে সরানোর পরে
- যদি temp AND 1 হয় 1, তাহলে
- রিটার্ন "সেট"
- রিটার্ন "আনসেট"
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ কোড
def solve(n,k): temp = n >> (k - 1) if temp & 1: return "Set" return "Unset" n = 18 k = 2 print(solve(n, k))
ইনপুট
18
আউটপুট
Set