温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

c++素数筛选法实例介绍

发布时间:2021-08-17 23:49:37 来源:亿速云 阅读:109 作者:chen 栏目:编程语言

本篇内容主要讲解“c++素数筛选法实例介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“c++素数筛选法实例介绍”吧!

素数(又称质数):指在大于一的自然数中,只能被1和它自身整除的自然数;

素数筛选法是指一种非常规的素数判定方法,比较高效率;

原理:任何数的整数倍必定不是素数,大于二的偶数必定不是素数。

我们以找出100以内的素数为例,利用原理,我们可以首先排除偶数是素数,然后进一步判断奇数

实现将偶数标记为0,素数标记为1;(也可以用一个bool数组将偶数标记为false,奇数标记为true)

c++素数筛选法实例介绍

下面是全部代码

#include <iostream>
#include <cmath>
#define MAX 100 
using namespace std;

int main()
{
      //设置标记,将偶数标记为0 
      int prime[MAX+1];
      for(int i=1;i<=MAX;i++)
      {
        if(i%2==0)
        {
          prime[i]=0;
        }
        else prime[i]=1;
      }
      
      for(int i=3;i<=sqrt(MAX);i++)
      {
        if(prime[i]==1)
        {
          for(int j=i+i;j<=MAX;j=j+i)
          {
              prime[j]=0;
          }
        }
      }    
      cout<<"2"<<" ";
      for(int i=3;i<=MAX;i++)
      {
        if(prime[i]==1)
        cout<<i<<" ";
      }
  return 0;  
}

到此,相信大家对“c++素数筛选法实例介绍”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c++
AI