21xrx.com
2025-06-11 07:25:44 Wednesday
文章检索 我的文章 写文章
C++实现质数求和
2023-07-05 13:33:44 深夜i     15     0
C++ 质数 求和 素数 算法

质数是指除了1和本身外没有其他因子的自然数,如2、3、5、7等。在计算机编程中,求和是常见的操作之一,将若干个数相加得到总和,而求质数的和也是一个有趣的问题。

在C++语言中,可以使用for循环来遍历自然数,对于每一个数,判断它是否为质数即可。以下是一个简单的实现:

#include<iostream>
#include<cmath>
using namespace std;
bool isPrime(int n) {
  if(n<=1) return false;
  for(int i=2; i<=sqrt(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 the prime numbers less than or equal to "<<n<<" is "<<sum<<endl;
  return 0;
}

首先定义了一个判断质数的函数isPrime,通过遍历小于等于该数平方根的自然数,若该数可以被整除,则不是质数,否则是质数。在主函数main中,通过输入一个自然数n,计算小于等于n的所有质数的和,并输出结果。

需要注意的是,该实现并不是最优解,可能会在面对大量数据时出现超时错误。在实际应用中,可以通过一些优化措施来提高效率,例如使用筛法求解质数。但对于初学者来说,本文提供的方法已经足够实现求解质数和的功能。

  
  

评论区