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

সি++-এ ক্যাপ্রেকার সংখ্যা (Kaprekar Number) যাচাই করা

এই টিউটোরিয়ালে, আমরা একটি প্রোগ্রাম লিখব যা যাচাই করবে প্রদত্ত সংখ্যাটি ক্যাপ্রেকার সংখ্যা (Kaprekar Number) কিনা।

একটি সংখ্যা নিন। তার বর্গ বের করুন। বর্গ সংখ্যাটিকে দুটি ভাগে ভাগ করুন। যদি দুটি ভাগের যোগফল মূল সংখ্যার সমান হয়, তবে সেটিকে ক্যাপ্রেকার সংখ্যা বলা হয়।

সমস্যা সমাধানের ধাপসমূহ

  • সংখ্যা n ইনিশিয়ালাইজ করুন।
  • n-এর বর্গ বের করুন।
  • n-এর বর্গের ডিজিট সংখ্যা গণনা করে একটি ভেরিয়েবলে সংরক্ষণ করুন।
  • n-এর বর্গকে ১০, ১০০, ১০০০, ইত্যাদি দিয়ে ভাগ করুন (ডিজিট সংখ্যা পর্যন্ত)।
    • যেকোনো ভাগের যোগফল n-এর সমান কিনা তা যাচাই করুন।
  • যদি সমান হয়, তবে True রিটার্ন করুন, অন্যথায় False।

উদাহরণ কোড

#include<bits/stdc++.h>
using namespace std;

bool isKaprekarNumber(int n) {
    if (n == 1) {
        return true;
    }
    int nSquare = n * n, digitsCount = 0;
    while (nSquare) {
        digitsCount++;
        nSquare /= 10;
    }
    nSquare = n * n;
    for (int i = 1; i < digitsCount; i++) {
        int parts = pow(10, i);
        if (parts == n) {
            continue;
        }
        int sum = nSquare / parts + nSquare % parts;
        if (sum == n) {
            return true;
        }
    }
    return false;
}

int main() {
    int n = 25;
    string result = isKaprekarNumber(n) ? "True" : "False";
    cout << result << endl;
    return 0;
}

আউটপুট

উপরের কোডটি রান করলে নিচের ফলাফল পাওয়া যাবে:

False

নিষ্কর্ষ

এই টিউটোরিয়াল সম্পর্কে আপনার যেকোনো প্রশ্ন থাকলে কমেন্ট সেকশনে জানাতে পারেন।

  1. Frugal সংখ্যা চেক করা (C++)

  2. C++ দিয়ে পেন্টাটপ (Pentatope) সংখ্যা বের করা

  3. সি++-এ নাম্বার অফ এনক্লেভস (Number of Enclaves)

  4. C++-এ অ্যাডাম সংখ্যা (Adam Number) চেক করার পদ্ধতি