কম্পিউটার

k সংখ্যা সহ ভাগ্যবান সংখ্যার সংখ্যা গণনা করতে C++ কোড


ধরুন আমাদের n উপাদান সহ একটি অ্যারে A আছে, এবং আরেকটি সংখ্যা x আছে। আমরা জানি ভাগ্য সংখ্যা হল ধনাত্মক সংখ্যা যার দশমিক প্রতিনিধিত্বে শুধুমাত্র ভাগ্যবান সংখ্যা 4 এবং 7 থাকে। প্রদত্ত n ধনাত্মক পূর্ণসংখ্যা গঠন করুন। আমাদের গণনা করতে হবে যে তাদের মধ্যে কতজনের ভাগ্যবান সংখ্যা k-এর বেশি নেই?

সুতরাং, যদি ইনপুটটি A =[44, 74, 474, 154] এর মত হয়; k =2, তাহলে আউটপুট হবে 3, কারণ তিনটি ভাগ্যবান সংখ্যা 44, 74 এবং 474 কিন্তু 474-এ তিনটি ভাগ্যবান সংখ্যা আছে যা k-এর চেয়ে বেশি। এছাড়াও 154 এর একটি ভাগ্যবান সংখ্যা রয়েছে যা গ্রহণযোগ্য।

পদক্ষেপ

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

n := size of A
f := 0
for initialize i := 0, when i < n, update (increase i by 1), do:
   c := 0
   while A[i] is not equal to 0, do:
      if A[i] mod 10 is same as 4 or A[i] mod 10 is same as 7, then:
         (increase c by 1)
      A[i] := A[i] / 10
   if c <= k, then:
      (increase f by 1)
return f

উদাহরণ

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

#include<bits/stdc++.h>
using namespace std;
int solve(vector<int> A, int k){
   int n = A.size();
   int 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++ এ 3 এবং 8 সংখ্যা সহ সংখ্যায় রূপান্তর করুন

  4. একটি সংখ্যায় সংখ্যার গণনা খুঁজুন যা সংখ্যাটিকে C++ এ ভাগ করে