Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Đếm số may mắn không quá k chữ số may mắn bằng C++

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