### 计算 1...100 之间的素数之和

素数理论在计算机算法中占有很重要的位置，许多优秀算法都是在素数理论上建立起来的。在本例中我们要求计算 100 以内的素数之和。首先我们需要判断出 100 以内的素数，然后对这些素数进行求和运算。实例设计步骤如下：

（1）创建一个控制台应用程序。

（2）添加 Calc 函数累加某一个区间内的所有素数之和。

int Calc(int nFrom, int nTo)

{

int nResult = 0; //记录结果

int kf, i = 2;

for(int num = nFrom; num<=nTo ; num++) //遍历区间 nFrom ... nTo

{

kf = sqrt(num); //开平方计算

while(i <= kf)

{

if(num % i == 0)

{

break;

}

i++;

}

if(i > kf) //如果为素数

{

nResult += num; //累加和

}

i = 2;

}

return nResult; //返回结果

}

（3）在 main 函数中调用 Calc 函数进行素数求和运算。

int main(int argc, char* argv[])

{

int nRet = Calc(1, 100);

cout << "1...100 的素数之和为：" << nRet << endl;

return 0;

}

效果如图 1 所示。

图 1 输出素数之和