इस ट्यूटोरियल में, हम पैलिंड्रोम की संख्या ज्ञात करने के लिए एक प्रोग्राम पर चर्चा करेंगे जो एक पैलिंड्रोम के वर्ग हैं।
इसके लिए हमें दो मान L और R प्रदान किए जाएंगे। हमारा कार्य दी गई श्रेणी में सुपर पैलिंड्रोम की संख्या ज्ञात करना है। एक सुपर पैलिंड्रोम वह होता है जिसमें संख्या और उसका वर्ग दोनों पैलिंड्रोम होते हैं।
उदाहरण
#include <bits/stdc++.h>
using namespace std;
//checking if the number is a palindrome
bool if_palin(int x){
int ans = 0;
int temp = x;
while (temp > 0){
ans = 10 * ans + temp % 10;
temp = temp / 10;
}
return ans == x;
}
//returning the count of palindrome
int is_spalin(int L, int R){
// Upper limit
int LIMIT = 100000;
int ans = 0;
for (int i = 0 ;i < LIMIT; i++){
string s = to_string(i);
string rs = s.substr(0, s.size() - 1);
reverse(rs.begin(), rs.end());
string p = s + rs;
int p_sq = pow(stoi(p), 2);
if (p_sq > R)
break;
if (p_sq >= L and if_palin(p_sq))
ans = ans + 1;
}
//counting even length palindromes
for (int i = 0 ;i < LIMIT; i++){
string s = to_string(i);
string rs = s;
reverse(rs.begin(), rs.end());
string p = s + rs;
int p_sq = pow(stoi(p), 2);
if (p_sq > R)
break;
if (p_sq >= L and if_palin(p_sq))
ans = ans + 1;
}
return ans;
}
int main(){
string L = "4";
string R = "1000";
printf("%d\n", is_spalin(stoi(L), stoi(R)));
return 0;
} आउटपुट
4