প্যালিনড্রোম পরীক্ষা করতে, আসুন বলি আমাদের সংখ্যা 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