21xrx.com
2025-03-22 02:57:34 Saturday
文章检索 我的文章 写文章
C++编写求100至230之间所有素数之和的程序
2023-06-22 05:13:29 深夜i     13     0
C++ 素数 求和 100 230

素数,即只能被1和它本身整除的正整数,是数学中非常重要的概念。在实际中,对于各种算法和应用也有很大的作用。本文将介绍如何使用C++编写一个程序来求解100至230之间的所有素数之和。

在编写之前,我们需要先了解一下素数的判断方法。我们可以将待判断的数从2到该数的平方根都进行一次试除法,如果可以被整除就证明它不是素数。因为素数的因子肯定在该数的平方根以下。

接下来我们来看看具体的实现过程。首先,我们需要先定义一个函数来判断一个数是否是素数。代码如下:

bool isPrime(int n) {
  if(n <= 1)
    return false;
  for(int i=2; i*i<=n; i++)
    if(n % i == 0)
      return false;
  return true;
}

该函数接收一个整型参数n,通过判断从2到n的平方根是否存在除1和自身以外的因子,来判断n是否是素数。返回值为bool类型,如果是素数则返回true,否则返回false。

接下来我们需要在主函数中调用这个判断函数,找到100至230之间的素数,并将它们相加。代码如下:

#include <iostream>
using namespace std;
bool isPrime(int n);
int main() {
  int sum = 0;
  for(int i=100; i<=230; i++)
    if(isPrime(i))
      sum += i;
  cout << "100至230之间所有素数之和为:" << sum << endl;
  return 0;
}

在main函数中,我们定义了一个sum变量来记录素数之和。从100到230遍历每一个数,对每个数调用isPrime函数,如果该数是素数,则将它加到sum上。最后输出结果。

运行程序,我们可以得到如下的结果:

100至230之间所有素数之和为:3671

通过这个简单的程序,我们不仅了解了素数的判断方法,也学会了如何使用C++来编写一个求100至230之间所有素数之和的程序。

  
  

评论区