21xrx.com
2024-12-23 00:20:40 Monday
登录
文章检索 我的文章 写文章
C++编程:求解100以内的所有素数
2023-07-06 13:23:22 深夜i     --     --
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++是一个强大的编程语言,它可以帮助我们更轻松地解决许多实际问题。

  
  

评论区

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