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

C++-এ একটি মোবাইল নম্বর ফ্যান্সি (Fancy) কিনা চেক করা

আমাদের একটি ১০ ডিজিটের মোবাইল নম্বর আছে, আমাদের কাজ হল চেক করা নম্বরটি ফ্যান্সি নম্বর কিনা। ফ্যান্সি নম্বরের জন্য তিনটি শর্ত রয়েছে। যদি কমপক্ষে একটি সত্য হয়, তবে নম্বরটি ফ্যান্সি। শর্তগুলো:

  • একটি একক সংখ্যা তিনবার liên tiếp আসে, যেমন 555
  • তিনটি liên tiếp সংখ্যা ক্রমবর্ধমান বা ক্রমহ্রাসমান வரibles, যেমন 123 বা 321
  • একটি একক ডিজিট নম্বরে চার বা অধিকবার আসে, যেমন 8965499259-এ ৯ চারবার এসেছে

ফ্যান্সি নম্বরের একটি উদাহরণ: 9859009976, এটি ফ্যান্সি কারণ তৃতীয় শর্ত পূরণ করে।

নম্বরটি স্ট্রিং হিসেবে নেওয়া হবে। তৃতীয় শর্তের জন্য প্রতিটি সংখ্যার ফ্রিকোয়েন্সি কাউন্ট করুন, বেসিক হ্যাশিং কনসেপ্ট ব্যবহার করা হয়েছে।

উদাহরণ কোড

#include <iostream>
#define N 5
using namespace std;

bool consecutiveThreeSameDigits(string s) {
    for (int i = 0; i < s.size() - 2; i++) {
        if (s[i] == s[i + 1] && s[i + 1] == s[i + 2])
            return true;
    }
    return false;
}

bool incDecThree(string s) {
    for (int i = 0; i < s.size() - 2; i++) {
        if ((s[i] < s[i + 1] && s[i + 1] < s[i + 2]) || (s[i] > s[i + 1] && s[i + 1] > s[i + 2]))
            return true;
    }
    return false;
}

bool fourOccurrence(string s) {
    int freq[10];
    for (int i = 0; i < 10; i++)
        freq[i] = 0;
    for (int i = 0; i < s.size(); i++)
        freq[s[i] - '0']++;
    for (int i = 0; i < 9; i++)
        if (freq[i] >= 4)
            return true;
    return false;
}

bool isFancyNumber(string s) {
    if (consecutiveThreeSameDigits(s) || incDecThree(s) || fourOccurrence(s))
        return true;
    else
        return false;
}

int main() {
    string s = "7609438921";
    if (isFancyNumber(s))
        cout << "This is fancy number";
    else
        cout << "This is not a fancy number";
    return 0;
}

আউটপুট

This is fancy number
  1. C++ প্রোগ্রাম: সংখ্যা অন্য একটি সংখ্যার পাওয়ার কিনা চেক করা

  2. C++ প্রোগ্রাম: বড় সংখ্যা ২০ দিয়ে বিভাজ্য কিনা চেক (স্ট্রিং ইনপুট)

  3. C++-এ N পেন্টাগোনাল নাম্বার কিনা তা যাচাই করার প্রোগ্রাম

  4. আর্মস্ট্রং নম্বর (Armstrong Number) চেক করার C++ প্রোগ্রাম