কম্পিউটার

একটি নম্বর প্যালিনড্রোম কিনা তা পরীক্ষা করার জন্য C++ প্রোগ্রাম


একটি প্যালিনড্রোম সংখ্যা একই থাকে যদি এর সংখ্যাগুলি বিপরীত হয় অর্থাৎ এর মান পরিবর্তন না হয়। একটি প্যালিনড্রোম সংখ্যাকে সিমেট্রিকও বলা যেতে পারে। উদাহরণস্বরূপ: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

উপরের প্রোগ্রামে, ফাংশন প্যালিনড্রোম খুঁজে বের করে যে সংখ্যাটি প্যালিনড্রোম কিনা। ফাংশনটি একটি প্যারামিটার অর্থাৎ সংখ্যা নেয়। কোন প্রক্রিয়া সঞ্চালিত হওয়ার আগে, সংখ্যার একটি ডুপ্লিকেট তৈরি করা হয় অর্থাৎ val। num-এর মান বিপরীত করা হয় এবং rev-এ সংরক্ষিত হয়।

এটি নিম্নলিখিত কোড স্নিপেট −

দ্বারা দেখানো হয়েছে
int rev=0,val;
val = num;
while(num > 0) {
   rev = rev * 10 + num % 10;
   num = num / 10;
}

এর পরে, rev-এর মানটিকে val-এর সাথে তুলনা করা হয়, সংখ্যার সাথে নয়। এর কারণ হল সংখ্যার মান এখন পর্যন্ত 0। যদি রেভ ভ্যালের সমান হয়, তাহলে সংখ্যাটি একটি প্যালিনড্রোম এবং এটি প্রিন্ট করা হয়, অন্যথায় সংখ্যাটি প্যালিনড্রোম নয়৷

এটি নিম্নলিখিত কোড স্নিপেটে দেখা যেতে পারে।

if(val==rev)
cout<<val<<" is a palindrome"<<endl;
else
cout<<val<<" is not a palindrome"<<endl;

  1. প্রদত্ত স্ট্রিং খারাপ কি না তা পরীক্ষা করার জন্য C++ প্রোগ্রাম

  2. সংখ্যাটি প্যালিনড্রোম কিনা তা পরীক্ষা করার জন্য পুনরাবৃত্তিমূলক প্রোগ্রাম C++ এ

  3. C++ প্রোগ্রামে সাবস্ট্রিং[L…R] প্যালিনড্রোম কিনা তা পরীক্ষা করার জন্য প্রশ্ন

  4. একটি অ্যারে প্যালিনড্রোম কিনা বা C++ এ STL ব্যবহার করছে না তা পরীক্ষা করার জন্য প্রোগ্রাম