题解
2026-07-31 18:42:22
发布于:浙江
11阅读
0回复
0点赞
判断,循环
#include<bits/stdc++.h>
using namespace std;
bool is_prime(int n){
if(n==1) return false;
else if(n==2 || n==3) return true;
if(n%2==0) return false;
for(int i=3;i<=int(sqrt(n));i+=2) if(n%i==0) return false;
return true;
}
int main(){
int n,m,cnt=0;
cin>>n>>m;
vector<int> num(n);
for(int i=0;i<n;i++) cin>>num[i];
for(int i=1;i<=m;i++){
int t;
cin>>t;
if(is_prime(num[t-1])) cnt+=num[t-1];
}cout<<cnt;
return 0;
}
全部评论 1
4链接描述
5天前 来自 浙江
0







有帮助,赞一个