21xrx.com
2024-11-08 23:25:06 Friday
登录
文章检索 我的文章 写文章
使用C++编程算出100到n之间素数的和
2023-07-04 23:29:09 深夜i     --     --
C++ 算法 素数 编程

在计算机科学中,素数一直是一个非常基础且重要的概念。素数是只能被1和它本身整除的自然数,比如2、3、5、7、11等。那么如何使用C++编程计算出100到n之间的所有素数的和呢?

首先,我们需要使用一个循环来遍历100到n之间的所有自然数。然后,对于每个数,我们需要判断它是否为素数。这里可以使用一个简单的算法——试除法。即从2到这个数的平方根之间的所有自然数去除它,如果都不能整除,则这个数就是素数。

实现上述算法的C++代码如下:


#include<iostream>

#include<cmath>

using namespace std;

int main()

{

  int n, sum = 0;

  cout << "请输入n的值:";

  cin >> n;

  for (int i = 100; i <= n; i++)

  {

    bool isPrime = true;

    for (int j = 2; j <= sqrt(i); j++)

    {

      if (i % j == 0)

      

        isPrime = false;

        break;

      

    }

    if (isPrime)

      sum += i;

  }

  cout << "100到" << n << "之间的所有素数的和为:" << sum << endl;

  return 0;

}

在上述代码中,我们首先定义了一个变量sum来保存素数的和,然后使用一个for循环从100到n遍历所有自然数。在循环中,我们设置了一个bool型变量isPrime来判断当前数是否为素数。然后使用另外一个for循环,从2到这个数的平方根之间的所有自然数去除当前数,如果发现整除,则将isPrime设为false,并跳出循环。最后判断isPrime是否为true,如果是,则将当前数加到sum中。

最终,我们输出sum的值,即得到了100到n之间的所有素数的和。这个程序非常简单,并且可以轻松地修改来计算其他范围内的素数和。因此,掌握这个算法和代码非常有用。

  
  

评论区

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