এখানে আমরা দেখব, কিভাবে একটি সংখ্যা প্যালিনড্রোম কিনা তা যাচাই করা যায়। প্যালিনড্রোম সংখ্যা উভয় দিক থেকে একই থাকে। উদাহরণস্বরূপ, ১২৩২১ একটি প্যালিনড্রোম, কিন্তু ১২৩৪৫ নয়।
লজিকটি খুব সরল: সংখ্যাটি রিভার্স করতে হবে, এবং যদি রিভার্স করা সংখ্যা মূল সংখ্যার সমান হয়, তবে সেটি প্যালিনড্রোম, অন্যথায় নয়। ভালোভাবে বুঝতে অ্যালগরিদমটি নিচে দেওয়া হলো।
অ্যালগরিদম
isPalindrome(n) −
ইনপুট − সংখ্যা n
আউটপুট − true, যদি সংখ্যাটি প্যালিনড্রোম হয়, অন্যথায় false
begin temp := n rev := 0 while n > 0, do rev := rev * 10 + (n mod 10) n := n / 10 done if rev = temp, then return true return false end
উদাহরণ
#include <iostream> using namespace std; bool isPalindrome(int number) { int temp = number; int rev = 0; while(number > 0){ rev = 10 * rev + number % 10; //take the last digit, and attach with the rev number /= 10; } if(rev == temp) return true; return false; } int main() { int n = 12321; if(isPalindrome(n)){ cout << n << " is palindrome number"; } else { cout << n << " is not a palindrome number"; } }আউটপুট
12321 is palindrome number