21xrx.com
2024-12-22 22:07:52 Sunday
登录
文章检索 我的文章 写文章
C++实现质数求和
2023-07-05 13:33:44 深夜i     --     --
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的所有质数的和,并输出结果。

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

  
  

评论区

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