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

সি++-এ কিথ সংখ্যা (Keith Number) যাচাই করা

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

যদি কোনো সংখ্যা n তার নিজের ডিজিটগুলো দিয়ে তৈরি সিকোয়েন্সে উপস্থিত থাকে, তবে সেটিকে কিথ সংখ্যা বলা হয়। এই সিকোয়েন্সের প্রথম nটি পদ হলো সংখ্যা n-এর ডিজিটগুলো এবং পরবর্তী পদগুলো হলো আগের nটি পদের যোগফল।

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

  • সংখ্যা n ইনিশিয়ালাইজ করুন।
  • সিকোয়েন্স সংরক্ষণের জন্য একটি খালি ভেক্টর elements ইনিশিয়ালাইজ করুন।
  • ডিজিট গণনা করুন এবং প্রতিটি ডিজিট ভেক্টরে যোগ করুন।
  • ডিজিট ভেক্টরটি রিভার্স করুন।
  • nextElement নামে একটি ভেরিয়েবল ০ দিয়ে ইনিশিয়ালাইজ করুন।
  • nextElement n-এর চেয়ে ছোট olduğu পর্যন্ত একটি লুপ চালান।
    • পেছনের nটি ডিজিট যোগ করে nextElement বের করুন।
    • nextElement ভেক্টরে যোগ করুন।
  • যদি nextElement n-এর সমান হয়, তবে true রিটার্ন করুন, অন্যথায় false।

উদাহরণ কোড

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

bool isKeithNumber(int n) {
    vector<int> elements;
    int temp = n, digitsCount = 0;
    while (temp > 0) {
        elements.push_back(temp % 10);
        temp = temp / 10;
        digitsCount++;
    }
    reverse(elements.begin(), elements.end());
    int nextElement = 0, i = digitsCount;
    while (nextElement < n) {
        nextElement = 0;
        for (int j = 1; j <= digitsCount; j++) {
            nextElement += elements[i - j];
        }
        elements.push_back(nextElement);
        i++;
    }
    return nextElement == n;
}

int main() {
    isKeithNumber(43) ? cout << "Yes" << endl : cout << "No" << endl;
    isKeithNumber(14) ? cout << "Yes" << endl : cout << "No" << endl;
    isKeithNumber(197) ? cout << "Yes" << endl : cout << "No" << endl;
    return 0;
}

আউটপুট

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

No Yes Yes

নিষ্কর্ষ

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

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

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

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

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