题解(附加每一步注释)
2024-07-14 08:03:07
发布于:上海
1阅读
0回复
0点赞
#include<iostream>
using namespace std;
int n,m;
int sum;//sum记录最终结果
int a[105];
bool is_prime(int n){
if(n==1) return false;//1不是质数
for(int i=2;i<=n-1;i++){
if(n%i==0) return false;
}//如果n有除1和n以外的因数,那么n不是质数
return true;//反之,n是质数
}//判断素数
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];//输入每一个小朋友的数字
}
for(int i=1;i<=m;i++){
int x;
cin>>x;//输入每一个小朋友的下标
if(is_prime(a[x])){
sum+=a[x];//是素数就加
}//判断下标为x的数字是否为素数
}
cout<<sum;//输出结果
return 0;
}
这里空空如也
有帮助,赞一个