কম্পিউটার

একটি সংখ্যার বাইনারি উপস্থাপনা পাইথনে প্যালিনড্রোম কিনা তা পরীক্ষা করুন


ধরুন আমাদের একটি সংখ্যা n আছে। n এর বাইনারি উপস্থাপনাটি প্যালিনড্রোম কিনা তা আমাদের পরীক্ষা করতে হবে।

সুতরাং, যদি ইনপুটটি n =9 এর মত হয়, তাহলে আউটপুটটি True হবে কারণ 9-এর বাইনারি উপস্থাপনা হল 1001, যা প্যালিনড্রোম।

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

  • উত্তর :=0
  • যখন num> 0, do
    • উত্তর :=উত্তর * ২
    • যদি সংখ্যাটি বিজোড় হয়, তাহলে
      • উত্তর :=উত্তর XOR 1
    • সংখ্যা :=সংখ্যা / 2
  • উত্তর ফেরত দিন

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

উদাহরণ

def reverse_binary(num) :
   ans = 0
   while (num > 0) :
      ans = ans << 1
      if num & 1 == 1 :
         ans = ans ^ 1
      num = num >> 1
   return ans
def solve(n) :
   rev = reverse_binary(n)
   return n == rev
n = 9
print(solve(n))

ইনপুট

9

আউটপুট

True

  1. প্রাইম নম্বর চেক করতে পাইথন প্রোগ্রাম

  2. একটি প্রদত্ত স্ট্রিং নম্বর প্যালিনড্রোম কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

  3. আর্মস্ট্রং নম্বর চেক করতে পাইথন প্রোগ্রাম

  4. একটি বাইনারি সংখ্যায় K ধারাবাহিক 1 আছে কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম?