একটি পূর্ণসংখ্যা দেওয়া থাকলে, রিকারসিভ পদ্ধতিতে সেটি প্যালিনড্রোম কিনা চেক করতে হবে।
সংখ্যাকে রিভার্স করে মূল সংখ্যার সাথে তুলনা করলে প্যালিনড্রোম বোঝা যায়।
উদাহরণ
ইনপুট − Num = 34212
আউটপুট − 34212 is not a Palindrome!
ব্যাখ্যা − রিভার্স = 21243, যা 34212-এর সমান নয়।
ইনপুট − Num = 32123
আউটপুট − 32123 is Palindrome!
ব্যাখ্যা − রিভার্স = 32123, যা মূল সংখ্যার সমান।
প্রোগ্রামে ব্যবহৃত পদ্ধতি
রিকারসিভ ফাংশন revrsNum(int num1, int num2) সংখ্যা রিভার্স করে ফেরত দেয়।
ইনপুট
Numনিন।Num2 = revrsNum(Num, 0)।revrsNum-এ: যদিnum1 == 0হয়,num2ফেরত দিন।অন্যথায়
num2 *= 10; num2 += num1%10; num1 /= 10; return revrsNum(num1, num2);।Num == Num2হলে প্যালিনড্রোম।
উদাহরণ কোড
#include <bits/stdc++.h>
using namespace std;
int revrsNum(int num1, int num2){
if (num1 == 0){
return num2;
}
num2 *= 10;
num2 += (num1 % 10);
num1 = num1 / 10;
return revrsNum(num1, num2);
}
int main(){
int Num = 1345431;
int Num2 = revrsNum(Num, 0);
if (Num == Num2){
cout << Num << " is Palindrome!";
}
else{
cout << Num << " is not a Palindrome!";
}
return 0;
}
আউটপুট
উপরের কোড রান করলে নিচের আউটপুট পাওয়া যাবে:
1345431 is Palindrome!