zoukankan      html  css  js  c++  java
  • 【算法杂谈】线性筛

    【又是筛子】

    【线性筛】

    这种筛子是在原来埃氏筛的基础上优化而成的,我们先来看一下代码:)

    【代码】

    #include<iostream>
    #include<cstring>
    using namespace std;
    int prime[1100000],primesize,phi[11000000];
    bool isprime[11000000];
    void getlist(int listsize)
    {
        memset(isprime,1,sizeof(isprime));
        isprime[1]=false;
        for(int i=2;i<=listsize;i++)
        {
            if(isprime[i]) prime[++primesize]=i;
             for(int j=1;j<=primesize && i*prime[j]<=listsize;j++)
             {
                isprime[i*prime[j]]=false;
                if(i%prime[j]==0)break;
            }
        }
    }
    int main()
    {
        long long n;
        scanf("%lld",&n);
        getlist(n);
        for(int i=0;i<sizeof(prime);i++) if(prime[i]!=0) printf("%d
    ",prime[i]);
        //输出的最后的一个数是2~n中质数的个数 
    	system("pause");
    	return 0;
    }
    
  • 相关阅读:
    MySQL的双主配置
    MySQL主从复制配置部署
    Linux centOS安装MySQL
    hive搜索报错
    常用设计模式
    Cookie禁用 获取session
    排序算法
    MySQL优化
    javascript Map和Set
    ThinkPHP的基本操作
  • 原文地址:https://www.cnblogs.com/lijiaxin-blog-cpp/p/6127034.html
Copyright © 2011-2022 走看看