Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [C] Hàm countIf — đếm phần tử thoả predicate (con trỏ hàm)

    Viết hàm bậc cao int countIf(int *arr, int n, int (*pred)(int)) đếm số phần tử của mảng arr[0..n-1] thoả predicate pred.

    Cài đặt 4 predicate: isPrime, isEven, isOdd, isFib. Đọc k để chọn:

    • k=1 → isPrime
    • k=2 → isEven
    • k=3 → isOdd
    • k=4 → isFib

    Ví dụ: mảng [2, 3, 4, 5, 6], k=1 → 3 (gồm 2, 3, 5).

    Ngữ cảnh: thư viện thống kê đơn giản — đếm điểm thi đạt 'tiêu chí' nào đó.

    • Định dạng đầu vào:

      Dòng 1: hai số n k. Dòng 2: n số nguyên cách nhau dấu cách.

    • Ràng buộc đầu vào:

      1 ≤ n ≤ 1000; mỗi phần tử ≤ 10⁵; k ∈ {1,2,3,4}. Không dùng math.h.

    • Định dạng đầu ra:

      Số phần tử thoả predicate.

    Ví dụ:

    Đầu vào:

    5 1
    2 3 4 5 6

    Đầu ra:

    3

    Giải thích:

    Các số nguyên tố: 2, 3, 5 → 3.

    Đang tải editor...