/C04016 - Đếm các số nguyên tố trong dãy
<Problem>
https://code.ptit.edu.vn/student/question/C04016#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdbool.h>
#include <math.h>
#define max(i, j) ((i > j) ? i : j)
#define min(i, j) ((i < j) ? i : j)
int main() {
int t;
scanf("%d", &t);
for (int u = 1; u <= t; u++) {
int n;
scanf("%d", &n);
int arr[101];
int dem[100000] = { 0 };
bool check[100000] = { false };
int count = 0;
int maxVal = 0;
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
maxVal = max(maxVal, arr[i]);
if (arr[i] == 2) dem[arr[i]]++;
else if (arr[i] > 2) {
bool flag = true;
for (int j = 2; j <= trunc(sqrt(arr[i])); j++) {
if (arr[i] % j == 0) {
flag = false;
break;
}
}
if (flag == true) dem[arr[i]]++;
}
}
printf("Test %d:\n", u);
for (int i = 0; i < maxVal; i++) {
if (dem[i] > 0)
printf("%d xuat hien %d lan\n", i, dem[i]);
}
printf("\n");
}
return 0;
}