একটি সংখ্যা n দেওয়া আছে। এর বাইনারি রিপ্রেজেন্টেশন প্যালিনড্রোম কিনা যাচাই করতে হবে।
উদাহরণ
ইনপুট: n = 9
আউটপুট: True
ব্যাখ্যা: ৯ = 1001 (বাইনারি), যা প্যালিনড্রোম।
অ্যালগরিদম
- বাইনারি রিভার্স করুন:
ans = (ans << 1) | (num & 1)। - রিভার্সড মান মূল সংখ্যার সমান কিনা চেক করুন।
উদাহরণ কোড
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)) # Output: True
ইনপুট
9
আউটপুট
True