Số các số nguyên tố Loại đề bài Cho dãy số nguyên dương, hãy đếm xem trong dãy số có bao nhiêu số nguyên tố Input Specification Dòng 1 ghi n (1≤n≤106) là số lượng số nguyên Dòng 2 ghi n số nguyên dương ai (1≤ai≤107) cần kiểm tra Output Specification Một dòng duy nhất ghi kết quả Sample Input Copy 5 1 2 3 4 5 Sample Output Copy 3 Nhớ là C++ nha

2 câu trả lời

#include <iostream>
#include <vector>
using namespace std;

const int maxn = 1e6;

int n, x, cnt = 0;
vector<bool> mark(maxn + 1, true);

void sieve() {
    mark[0] = mark[1] = false;
    
    for(int i = 2; i * i <= maxn; ++i) {
        if(mark[i]) {
            for(int j = i * i; j <= maxn; j += i) mark[j] = false;
        }
    }
}

int main() {
    sieve();
    
    cin >> n;
    for(int i = 0; i < n; ++i) cin >> x, cnt += mark[x];
    cout << cnt;
}

#include <bits/stdc++.h>
using namespace std;

int a[1000000],n,i,d;

bool nt(int a){
 bool kt;
 if (a<2) return 0; else kt=1; 
 for (int i=2; i*i<=a; i++)
    if (a%i==0) kt=0;
 return kt;
}

int main()
{
 cin>>n;
 for (i=1; i<=n; i++) cin>>a[i];
 for (i=1; i<=n; i++) 
    if (nt(a[i])) d++;
 cout<<d;
}