एक पैलिंड्रोम संख्या वही रहती है यदि उसके अंक उल्टे हो जाएं यानी उसका मान नहीं बदलता। पैलिंड्रोम संख्या को सममित भी कहा जा सकता है। उदाहरण के लिए: संख्याएँ 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<<" पैलिंड्रोम है"<<endl; else cout<<val<<" पैलिंड्रोम नहीं है"<<endl; } int main() { palindrome(12321); palindrome(1234); return 0; } आउटपुट
12321 पैलिंड्रोम है 1234 पैलिंड्रोम नहीं है
उपरोक्त प्रोग्राम में, palindrome फ़ंक्शन यह पता लगाता है कि संख्या पैलिंड्रोम है या नहीं। फ़ंक्शन एक पैरामीटर लेता है यानी num। किसी भी प्रक्रिया से पहले, num की एक प्रति बनाई जाती है यानी val। num का मान उल्टा करके rev में संग्रहीत किया जाता है।
यह निम्नलिखित कोड स्निपेट द्वारा दिखाया गया है:
int rev=0,val; val = num; while(num > 0) { rev = rev * 10 + num % 10; num = num / 10; } इसके बाद, rev के मान की तुलना val से की जाती है न कि num से। ऐसा इसलिए है क्योंकि अब num का मान 0 है। यदि rev, val के बराबर है, तो संख्या पैलिंड्रोम है और यह प्रिंट होता है, अन्यथा संख्या पैलिंड्रोम नहीं है।
यह निम्नलिखित कोड स्निपेट में देखा जा सकता है।
if(val==rev) cout<<val<<" पैलिंड्रोम है"<<endl; else cout<<val<<" पैलिंड्रोम नहीं है"<<endl;