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;
}