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

সি++ কোড: k ডিজিট বিশিষ্ট লাকি নাম্বারের সংখ্যা গণনা করুন

একটি অ্যারে A (n উপাদান) এবং একটি সংখ্যা x দেওয়া আছে। লাকি নাম্বার হলো এমন পজিটিভ সংখ্যা যার ডেসিমেল রিপ্রেজেন্টেশনে শুধু ৪ এবং ৭ ডিজিট থাকে। দেওয়া nটি পজিটিভ ইন্টিজারের মধ্যে কতটিতে k বা তার কম লাকি ডিজিট আছে তা গণনা করতে হবে।

উদাহরণ

A = [44, 74, 474, 154], k=2 → আউটপুট: 3
ব্যাখ্যা: ৪৪, ৭৪, ৪৭৪ লাকি নাম্বার কিন্তু ৪৭৪-তে ৩টি লাকি ডিজিট আছে (k=2-এর চেয়ে বেশি)। ১৫৪-তে ১টি লাকি ডিজিট আছে যা গ্রহণযোগ্য।

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

n := A-এর সাইজ
f := 0
for i := 0 to n-1:
    c := 0
    while A[i] != 0:
        if A[i]%10==4 or A[i]%10==7: c++
        A[i] /= 10
    if c <= k: f++
return f

সি++ কোড উদাহরণ

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

int solve(vector<int> A, int k) {
    int n = A.size(), f = 0;
    for (int i = 0; i < n; ++i) {
        int c = 0;
        while (A[i] != 0) {
            if (A[i] % 10 == 4 || A[i] % 10 == 7) c++;
            A[i] /= 10;
        }
        if (c <= k) f++;
    }
    return f;
}

int main() {
    vector<int> A = {44, 74, 474, 154};
    int k = 2;
    cout << solve(A, k) << endl;
}

ইনপুট

{44, 74, 474, 154}, 2

আউটপুট

3
  1. C++-এ ফ্যাক্টোরিয়ালে অঙ্ক গণনা

  2. C++-এ অদ্বিতীয় ডিজিটযুক্ত সংখ্যা গণনা

  3. শুধু ৩ ও ৮ ডিজিট দিয়ে সংখ্যা তৈরি করা C++-এ

  4. সি++ প্রোগ্রাম: সংখ্যা বিভাজ্য করে এমন অঙ্কগুলোর গণনা (Count of Digits Dividing the Number)