21xrx.com
2024-09-20 00:28:44 Friday
登录
文章检索 我的文章 写文章
C++输出1到100之间的素数
2023-07-03 10:44:16 深夜i     --     --
C++ 输出 素数 1到100

在计算机编程中,素数一直是一个热门话题。在C++中,输出1到100之间的素数是一项非常常见的任务。素数是除了1和它本身以外没有其他因子的正整数。因此,如果一个数可以被其他数整除,那么它就不是素数。

要输出1到100之间的素数,需要使用一种计算方法来判断一个数是否为素数。这种方法称为质数筛选法。质数筛选法是通过枚举所有要测试的数字,将数字的倍数标记为非素数来确定当前数字是否为素数。下面是C++代码示例,输出1到100之间的素数。


#include <iostream>

using namespace std;

int main()

{

  int prime[100] = {0};

  int cnt = 0;

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

  {

    if(prime[i] == 0)

    {

      cnt++;

      for(int j=2; i*j<=100; j++)

      {

        prime[i*j] = 1;

      }

    }

  }

  cout<<"1到100之间的素数有:"<<endl;

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

  {

    if(prime[i] == 0)

    

      cout<<i<<" ";

    

  }

  cout<<endl;

  return 0;

}

代码逻辑如下:

1. 首先,定义一个名为“prime”的数组,用于存储1到100之间的数字是否为素数。所有元素初始值都为0。

2. 然后,定义一个变量cnt来记录已经发现的素数数量。初始化为0。

3. 然后,枚举所有数字,如果该数字为素数,则将其倍数标记为非素数。具体来说,当prime[i]为0时,说明i是素数,因此通过一个嵌套循环遍历i的所有倍数,并将它们标记为非素数。在内层循环中,j从2开始枚举,一直到i*j<=100为止。

4. 最后,遍历数组输出所有素数。

该程序输出的结果为:“1到100之间的素数有: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 ”。程序成功输出1到100之间的素数。

总之,质数筛选法是计算机编程中非常重要的计算方法,可以用来确定一个数字是否为素数。如果需要输出1到100之间的所有素数,可以使用C++语言进行编程。以上代码示例可以帮助大家轻松地实现这个任务。

  
  

评论区

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