#include <stdio.h>
int main () {
int n;
scanf("%d",&n);
char a[n];
char b[n];
int i,j,k,sum;
int flag = 1;
for(i=0;i<n;i++) {
scanf("%d",a[i]);
}
for(i=0;i<n;i++) {
for(j=1;j<a[i];j++) {
if(a[i] % j == 0) {
flag = 0;
break;
}
}
if(flag) {
sum += a[i];
}
b[i] = sum;
sum = 0;
}
for(k=0;k<sizeof(b);k++) {
printf("%d\n",b[k]);
}
return 0;
}
#include <stdio.h>
int main() {
int n,a,i,j,k,f,s;
scanf("%d",&n);
for(i=1; i<=n; i++) {
scanf("%d",&a);
s=0;
for(j=2; j<=a; j++) {
f=1;
for(k=2; k*k<=j; k++) {
if(j%k==0) {
f=0;
break;
}
}
if(f) {
s+=j;
}
}
printf("%d\n",s);
}
return 0;
}
觉得有用的话采纳一下哈
N=int(input(''))
num=[]
for i in range(N):
num.append(int(input()))
for item in num:
if item<=1:
print(0)
else:
res=0
for iitem in range(2,item+1):
for i in range(2,iitem):
if (iitem % i) == 0:
break
else:
res+=iitem
print(res)
#include<iostream>
#include<math.h>
using namespace std;
bool isPrimeNumber(int n) {
for (int i = 2; i <= sqrt(n); i++) {
if (n % i==0)
return false;
}
return true;
}
int main() {
int a[1000];
int sum=0,nTest,index;
for (int i = 2; i < 1000; i++) {
if (isPrimeNumber(i))
sum += i;
a[i] = sum;
}
cin >> nTest;
while (nTest--) {
cin >> index;
cout << a[index] << endl;
}
}