ধরুন আমাদের 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