কম্পিউটার টিউটোরিয়াল

C++-এ প্যালিনড্রোম যেগুলো প্যালিনড্রোমের স্কোয়ার গণনা


এই টিউটোরিয়ালে আমরা প্যালিনড্রোম যেগুলো প্যালিনড্রোমের স্কোয়ার (super palindrome) সেগুলোর সংখ্যা বের করার প্রোগ্রাম নিয়ে আলোচনা করব।

এই জন্য আমাদের দুটি ভ্যালু 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

  1. সি++-এ বাইনারি ম্যাট্রিক্সে ১-ধন সাবম্যাট্রিক্স সংখ্যা গণনার প্রোগ্রাম

  2. ২ থেকে ১০ পর্যন্ত সব দিয়ে বিভাজ্য সংখ্যা গণনা C++-এ

  3. ১ থেকে N পর্যন্ত X দ্বারা বিভাজ্য কিন্তু Y দ্বারা বিভাজ্য নয় এমন সংখ্যাগুলি গণনা C++-এ

  4. C++-এ সমতল তলে পারালেলোগ্রাম গণনা: মিডপয়েন্ট পদ্ধতি