求助!
原题链接:296.体育课2023-05-14 09:47:07
发布于:江苏
#include<iostream>
#include<cmath>
using namespace std;
bool is_prime(int n){
if(n<2) return false;
for(int i=2;i<=int(sqrt(n));i++) if(n%i==0) return false;
return true;
}
int main(){
int n,m;
cin>>n>>m;
int a[n],fz,sum=0;//fz变量用于辅助输入
for(int i=0;i<n;i++) cin>>a[i];
for(int i=0;i<m;i++){
cin>>fz;
if(is_prime(a[fz])) sum+=a[fz-1];
}
cout<<sum;
return 0;
}
这段代码哪错了?
全部评论 5
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,m,c[1001],s[1001],num = 0;
scanf("%d %d", &n, &m);
bool is[1001] = {0};
for (int i = 2;i < 1001;i++){
is[i] = 1;
}
for (int i = 2;i <= sqrt(1000);i++){
for (int j = 2;j < i;j++){
if (i % j == 0){
is[i] = 0;
break;
}
}
if (is[i] == 1){
for (int k = 2;i * k <= 1000;k++){
is[k*i] = 0;
}
}
}
for (int i = 0;i < n;i++){
scanf("%d", &c[i]);
}
for (int i = 0;i < m;i++){
scanf("%d", &s[i]);
s[i] -= 1;
}
for (int i = 0;i < m;i++){
if (is[c[s[i]]] == 1){
num += c[s[i]];
}
}
cout << num;
}2025-05-13 来自 浙江
02024-11-29 来自 浙江
0a
2024-11-29 来自 浙江
0#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m;
cin>>n>>m;
int s[105];
for(int i=1;i<=n;i++){
cin>>s[i];
}
int c,num=0;
for(int i=1;i<=m;i++){
cin>>c;
int g=0;
for(int j=2;j<s[c];j++){
if(s[c]%j0){
g=1;
}
}
if(g0){
num+=s[c];
}
}
cout<<num;
return 0;
}2024-11-29 来自 浙江
0改完的代码我发在讨论区了,看一下吧。
2023-07-22 来自 江苏
0
有帮助,赞一个