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:
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 đó.
Dòng 1: hai số n k. Dòng 2: n số nguyên cách nhau dấu cách.
1 ≤ n ≤ 1000; mỗi phần tử ≤ 10⁵; k ∈ {1,2,3,4}. Không dùng math.h.
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:
Đang tải editor...