ได้รับอาร์เรย์ตัวเลข ต้องการนับจำนวนเฉพาะ (prime) ในอาร์เรย์
การตรวจสอบจำนวนเฉพาะ
จำนวนเฉพาะ = จำนวนที่มากกว่า 1 และมีตัวหารได้แค่ 1 และตัวมันเอง
ตรวจสอบโดยการหารด้วยทุกจำนวน 2 ถึง num/2 ถ้าหารลงตัวใดๆ → ไม่ใช่เฉพาะ
ตัวอย่าง
อินพุต: arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9}
เอาต์พุต: 4 (2, 3, 5, 7)
อินพุต: arr[] = {11, 12, 4, 61, 23}
เอาต์พุต: 3 (11, 61, 23)
ตัวอย่างโค้ด C++
#include <bits/stdc++.h>
using namespace std;
int checkPrime(int num) {
if (num <= 1) return 0;
for (int j = 2; j <= num/2; j++) {
if (num % j == 0) return 0;
}
return 1;
}
int main() {
int arr[] = {1, 3, 5, 4, 8, 13, 11};
int n = 7;
int count = 0;
for (int i = 0; i < n; i++) {
if (checkPrime(arr[i]) == 1) count++;
}
cout << "Count of number of primes in array: " << count;
return 0;
}
ผลลัพธ์
Count of number of primes in array: 4