holyya.com
2025-09-04 17:01:04 Thursday
登录
文章检索 我的文章 写文章
C++代码:求素数和
2023-07-08 16:17:28 深夜i     --     --
C++ 素数

对于初学者而言,写出一个简单的C++代码来求素数和可能是一个不小的挑战。不过,只要你具备基本的编程知识和少许的算法常识,就可以轻松地完成这项任务。

在开始编写代码之前,我们需要明确一下什么是素数。素数,也称质数,是指大于1的自然数,除了1和本身外,不能被其他自然数整除的数。因此,求素数和就是指将小于等于一定范围内的素数全部相加的运算过程。

接下来,我们就可以开始编写代码了。首先,我们需要定义一个函数来判断一个数是否为素数。这可以通过一个简单的循环来实现,代码如下所示:


bool isPrime(int n) {

  if (n < 2)

    return false;

  

  for (int i = 2; i * i <= n; i++) {

    if (n % i == 0)

      return false;

    

  }

  return true;

}

这个函数接受一个整数参数n,如果n小于2,则返回false。如果n大于等于2,则依次检查2到sqrt(n)之间的数是否能整除n,如果有,则说明n不是素数,返回false。最后,如果没有找到能整除n的数,则说明n是素数,返回true。

有了isPrime函数之后,我们就可以编写求素数和的主函数了。具体步骤如下:

1. 定义一个变量sum,用于保存素数和的结果

2. 循环从2到指定范围n,对每个数进行判断是否为素数

3. 如果当前数是素数,则将它加入到sum中

4. 循环结束后,输出sum的结果

完整代码如下所示:


#include <iostream>

#include <cmath>

using namespace std;

bool isPrime(int n) {

  if (n < 2)

    return false;

  

  for (int i = 2; i * i <= n; i++) {

    if (n % i == 0)

      return false;

    

  }

  return true;

}

int main() {

  int n, sum = 0;

  cin >> n;

  for (int i = 2; i <= n; i++) {

    if (isPrime(i)) {

      sum += i;

    }

  }

  cout << "The sum of prime numbers from 2 to " << n << " is " << sum << endl;

  return 0;

}

以上就是用C++语言求素数和的方法和代码。这个程序的时间复杂度为O(n*sqrt(n)),适用于小规模的数据运算。如果需要处理大数据,可以采用更加高效的算法,如埃氏筛法等。

  
  
下一篇: NodeJS 验证登录

评论区

{{item['qq_nickname']}}
()
回复
回复