Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

นับจำนวนเฉพาะในอาร์เรย์ ใน C++

ได้รับอาร์เรย์ตัวเลข ต้องการนับจำนวนเฉพาะ (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