Mô tả bài toán
Cho mảng A n phần tử và số k. Số may mắn chỉ chứa chữ số 4 và 7. Đếm số phần tử trong A có số chữ số may mắn ≤ k.
Ví dụ
A=[44,74,474,154], k=2 → 44 (2), 74 (2), 474 (3 >2), 154 (1) → 3 số thỏa mãn.
Thuật toán
Duyệt mỗi số, đếm chữ số 4 hoặc 7 (bằng cách lấy %10). Nếu đếm ≤ k thì tăng kết quả.
Code C++
#include <bits/stdc++.h>
using namespace std;
int solve(vector A, int k) {
int ans = 0;
for (int x : A) {
int cnt = 0;
while (x) {
int d = x % 10;
if (d == 4 || d == 7) cnt++;
x /= 10;
}
if (cnt <= k) ans++;
}
return ans;
}
int main() {
vector A = {44,74,474,154};
int k = 2;
cout << solve(A, k) << endl;
return 0;
}
Đầu vào / Đầu ra
Input: {44,74,474,154}, 2
Output: 3