#include<iostream>
using namespace std;
int main()
{
int n,i,j,sum,a;
cin>>n;
a=0;
i=2;
sum=0;
while(a<n)
{
for(j=2;j<=i;j++)
if(i%j==0)
break;
if(j==i)//这个for语句和if的判断用来判断i是否为素数
{
sum+=i;
++a;
}
++i;
}//算法的精妙在于,a表示这是第几个素数,i会不断累加1确保不会遗漏素数
cout<<sum;
}
思路;在累加数之前,判断它是不是素数,之后再加起来。
如何累加:用一个变量i,来存储这个量,无论这个数是否是素数,都要++i
判断是否是素数:假设有个数是n,分别用2,3,4,~~n 来除这个数,若为素数,则当他被整除时,那个除数是和他一样大的数。(应为j的初始值为2,所以不存在除数是1的情况)