एक पैलिंड्रोम संख्या वही रहती है यदि उसके अंकों को उलट दिया जाता है अर्थात इसका मान नहीं बदलता है। एक पैलिंड्रोम संख्या को सममित भी कहा जा सकता है। उदाहरण के लिए:संख्या 12321, 1551, 11 आदि पैलिंड्रोम हैं क्योंकि वे अंक उलटने पर भी नहीं बदलते हैं।
एक प्रोग्राम जो यह जांचता है कि कोई नंबर पैलिंड्रोम है या नहीं, इस प्रकार है।
उदाहरण
#include<iostream> using namespace std; void palindrome(int num) { int rev=0,val; val = num; while(num > 0) { rev = rev * 10 + num % 10; num = num / 10; } if(val==rev) cout<<val<<" is a palindrome"<<endl; else cout<<val<<" is not a palindrome"<<endl; } int main() { palindrome(12321); palindrome(1234); return 0; }
आउटपुट
12321 is a palindrome 1234 is not a palindrome
उपरोक्त कार्यक्रम में, फ़ंक्शन पैलिंड्रोम यह पता लगाता है कि संख्या पैलिंड्रोम है या नहीं। फ़ंक्शन एक पैरामीटर यानी संख्या लेता है। किसी भी प्रक्रिया के होने से पहले, num का एक डुप्लिकेट बनाया जाता है यानी val. num का मान उलट दिया जाता है और रेव में स्टोर किया जाता है।
यह निम्नलिखित कोड स्निपेट द्वारा दिखाया गया है -
int rev=0,val; val = num; while(num > 0) { rev = rev * 10 + num % 10; num = num / 10; }
इसके बाद, रेव के मूल्य की तुलना वैल से की जाती है न कि संख्या से। ऐसा इसलिए है क्योंकि num का मान अब तक 0 है। अगर रेव वैल के बराबर है, तो नंबर एक पैलिंड्रोम है और इसे प्रिंट किया जाता है, नहीं तो नंबर पैलिंड्रोम नहीं है।
इसे निम्नलिखित कोड स्निपेट में देखा जा सकता है।
if(val==rev) cout<<val<<" is a palindrome"<<endl; else cout<<val<<" is not a palindrome"<<endl;