প্যালিনড্রোম পরীক্ষা করতে, আসুন বলি আমাদের সংখ্যা 5, যার বাইনারি হল −
101
101-এর প্যালিনড্রোম হল 101 এবং পরীক্ষা করার জন্য আপনাকে নিম্নলিখিত ফাংশনটি ব্যবহার করে বিটগুলিকে বিপরীত করতে হবে। এখানে, বিটওয়াইজ বাম এবং বিটওয়াইজ ডান শিফট অপারেটর ব্যবহার করা হয় −
public static long funcReverse(long num) {
long myRev = 0;
while (num > 0) {
myRev <<= 1;
if ((num & 1) == 1)
myRev ^= 1;
num >>= 1;
}
return myRev;
} তারপরে আসল উপস্থাপনাটিকে বিপরীতের সাথে তুলনা করা হবে এবং funcReverse() ফাংশন থেকে মান পেয়ে −
public static bool checkPalindrome(long num) {
long myRev = funcReverse(num);
return (num == myRev);
} উদাহরণ
কোন সংখ্যার বাইনারি উপস্থাপনা প্যালিনড্রোম কিনা তা পরীক্ষা করার সম্পূর্ণ উদাহরণ নিচে দেওয়া হল -
using System;
public class Demo {
public static long funcReverse(long num) {
long myRev = 0;
while (num > 0) {
myRev <<= 1;
if ((num & 1) == 1)
myRev ^= 1;
num >>= 1;
}
return myRev;
}
public static bool checkPalindrome(long num) {
long myRev = funcReverse(num);
return (num == myRev);
}
public static void Main() {
// Binary value of 5 us 101
long num = 5;
if (checkPalindrome(num))
Console.WriteLine("Palindrome Number");
else
Console.WriteLine("Not a Palindrome Number");
}
} আউটপুট
Palindrome Number