21xrx.com
2025-04-28 17:42:20 Monday
文章检索 我的文章 写文章
C++编程:求解100以内的所有素数
2023-07-06 13:23:22 深夜i     110     0
C++ 编程 素数 100以内 求解

C++是一种高级编程语言,用于解决实际问题。其中一个经典问题是求解100以内的所有素数。

素数是指只能被1和自身整除的自然数,如2、3、5、7等。求解素数的一个简单方法是使用“筛法”,即从2开始遍历到100的所有数,将其倍数标记为非素数。最后留下的数即为素数。

以下是使用C++实现求解100以内素数的代码:

#include <iostream>
using namespace std;
int main()
{
  bool isPrime[101]; // 初始化素数数组
  for (int i = 2; i <= 100; i++) {
    isPrime[i] = true;
  }
  for (int i = 2; i <= 50; i++) { // 从2开始遍历
    if (isPrime[i]) { // 若当前数是素数
      for (int j = i * 2; j <= 100; j += i) { // 将其倍数标记为非素数
        isPrime[j] = false;
      }
    }
  }
  for (int i = 2; i <= 100; i++) { // 输出素数
    if (isPrime[i])
      cout << i << " ";
    
  }
  cout << endl;
  return 0;
}

代码中使用了一个bool类型的数组来存储每个数是否是素数。首先将所有数标记为素数,然后从2开始遍历,若当前数是素数,则将其倍数标记为非素数。最后输出所有素数。

在控制台中运行以上代码,可以得到以下输出结果:

2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

这就是100以内的所有素数。

本文使用C++实现了求解100以内素数的简单代码,并介绍了一种经典方法——筛法。C++是一个强大的编程语言,它可以帮助我们更轻松地解决许多实际问题。

  
  

评论区

请求出错了