求前n个素数之和(循环语句的问题)
题目描述
求前n个素数的和。
例如,前5个素数是2、3、5、7、11,它们的和是28。
输入
一个整数n,1<=n<=1000。
输出
前n个素数的和
样例输入
5
样例输出
28
提示
第1000个素数是7919。
#include <iostream>
using namespace std;
int main()
{
int n,i,j,sum=0,flag,a[1000],k;
cin>>n;
while(a<n){
for(i=2;i<=7919;i++){
flag=0;
for(j=2;j*j<=i;j++){
if(i%j==0){
flag=1;
break;
}
}
if(flag==0&&i!=1) {sum+=i;a++}
}
}
cout<<sum;
}
这里的a++好像没有起到作用是为什么??
最后输出的是前1000个素数的和
新手求教,拜托了