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