

Bài 3. Cho một mảng A gồm n số nguyên dương a1, a2,..., An. Yêu cầu: Viết chương trình in ra vị trí các số nguyên tố (theo thứ tự vị trí tăng dần) trong màng A. Dữ liệu: Vào từ file văn bản BAI2.INP Dòng đầu tiên chứa số nguyên dương n ( 1 <= n <=100 000) là số phần từ của màng; Dòng tiếp theo chứa n số nguyên dương a1, a2,..., an ( a_{t} <= 10 ^ 9 , v i = 1;n). Các số nguyên trong file dữ liệu được ghi cách nhau ít nhất 1 dấu cách trống. Kết quả: Ghi ra file văn bản BAI2. OUT vị trí các số nguyên tố (theo thứ tự vị trí tăng dần) trong màng A. Nếu trong màng đã cho không có số nguyên tố nào thì ghi -1. Các số nguyên trong file kết quả phải ghi cách nhau ít nhất 1 dấu cách trống. + Ví dụ: 8 BAI2.INP 2 3 24 36 27 13 7 9 BAI2.OUT 1267 Giải thích Các số nguyên tố trong mảng đã cho: a_{1} = 2 a_{2} = 3 a_{6} = 13 ; a_{7} = 7 làm trong c++
Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
#include <bits/stdc++.h>
using namespace std;
bool ktnt(int a){
for(int i=2;i<=sqrt(a);i++)
if(a%i==0)return false;
return a>1;}
int n,u,d=0;
map<int,long long>a;
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin>>n;
for(int i=1;i<=n;i++){cin>>a[i];}
for(int i=1;i<=n;i++)
if(ktnt(a[i])){cout<<i<<" ";d=1;}
if(d==0)cout<<"-1";
return 0;
}
Hãy giúp mọi người biết câu trả lời này thế nào?
![]()
Bảng tin
1
5
0
nó đúng nhưng chỉ sai 1test thôi
10
956
14
bn có link ko
10
956
14
bn thử lại coi đc ko
1
5
0
nó còn sai nhiều hơn thế cơ