Computer >> Máy Tính >  >> Lập trình >> C ++

Đếm số số nguyên tố trong một mảng trong C ++


Chúng ta được cung cấp với một mảng số. Mục đích là để tìm số lượng các số nguyên tố trong mảng đó.

Số nguyên tố là số chia hết cho 1 và chính nó. Nó chỉ có hai yếu tố. Chúng tôi sẽ kiểm tra xem số có phải là số nguyên tố hay không bắt đầu từ phần tử đầu tiên cho đến phần tử cuối cùng và tăng số lượng các số nguyên tố được tìm thấy cho đến nay.

Để kiểm tra xem số N có phải là số nguyên tố hay không, hãy kiểm tra xem các số trong phạm vi từ [2 đến N / 2] có chia hết N. Nếu có thì nó không phải là số nguyên tố. Nếu không, nó là nguyên tố.

Hãy cùng hiểu với các ví dụ.

Đầu vào - arr [] ={1,2,3,4,5,6,7,8,9}

Đầu ra - Đếm số số nguyên tố - 4

Giải thích - Ở đây 2,3,5,7 là số nguyên tố và 1,4,6,8,9 không phải là số nguyên tố.

Đầu vào - arr [] ={11,12,4,61,23}

Đầu ra - Đếm số số nguyên tố - 3

Giải thích - Ở đây 11,61,23 là số nguyên tố và 12,4 không phải là số nguyên tố.

Phương pháp tiếp cận được sử dụng trong chương trình dưới đây như sau

  • Chúng tôi lấy một mảng số nguyên arr [] chứa các số ngẫu nhiên.

  • Hàm checkPrime (int num) kiểm tra xem số num truyền vào có phải là số nguyên tố hay không. Nếu nó là số nguyên tố, nó trả về 1 nếu nó trả về 0.

  • Nếu num là <=1 thì nó không phải là số nguyên tố, trả về 0.

  • Bây giờ bắt đầu từ 2 đến num / 2 nếu bất kỳ số nào chia hết num (num% i ==0) thì num không phải là số nguyên tố, trả về 0.

  • Lợi nhuận khác 1.

  • Giá trị chuẩn của biến cho biết số có phải là số nguyên tố hay không (1 có nghĩa là số nguyên tố)

  • Số lượng biến lưu trữ số lượng các số nguyên tố trong arr []

  • Bên trong toàn bộ mảng chính và chuyển từng phần tử arr [i] vào checkPrime (arr [i]), nếu nó cho kết quả là 1 (isprime ==1) thì hãy đếm gia số.

  • Ở cuối số đếm là số lượng số nguyên tố trong arr []

Ví dụ

#include <bits/stdc++.h>
using namespace std;
// Function to find if number is prime
int checkPrime(int num){
    if (num <= 1)
      { return 0; }
   // Check from 2 to half of arr[i]
   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;
   int isprime=0;
   for(int i=0;i<n;i++){
      isprime=checkPrime(arr[i]);
      if(isprime==1)
         count++;
   }
   cout<<"Count of number of primes in array : "<<count;
   return 0;
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

Count of number of primes in array : 4