zoukankan      html  css  js  c++  java
  • COJ 2024 仙境传奇(五)——一个天才的觉醒 素数筛

    整理模板,同时测了一下memset,for,fill到底谁快。。。

    结果:memset最快,其次是for,fill最慢QAQ。。。。

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cmath>
     4 #include<algorithm>
     5 #include<queue>
     6 #include<cstring>
     7 #define PAU putchar(' ')
     8 #define ENT putchar('
    ')
     9 using namespace std;
    10 const int maxn=10000000+10;
    11 bool pri[maxn];
    12 void makepri(int n){
    13     int lim=sqrt(n);memset(pri,true,sizeof(pri));
    14     for(int i=2;i<=lim;i++)if(pri[i])for(int j=i*i;j<=n;j+=i)pri[j]=false;return;
    15 }
    16 inline int read(){
    17     int x=0,sig=1;char ch=getchar();
    18     while(!isdigit(ch)){if(ch=='-')sig=-1;ch=getchar();}
    19     while(isdigit(ch))x=10*x+ch-'0',ch=getchar();
    20     return x*=sig;
    21 }
    22 inline void write(int x){
    23     if(x==0){putchar('0');return;}if(x<0)putchar('-'),x=-x;
    24     int len=0,buf[15];while(x)buf[len++]=x%10,x/=10;
    25     for(int i=len-1;i>=0;i--)putchar(buf[i]+'0');return;
    26 }
    27 int n;
    28 void init(){
    29     n=read();makepri(n);
    30     for(int i=2;i<=n;i++) if(pri[i]) write(i),ENT;
    31     return;
    32 }
    33 void work(){
    34     return;
    35 }
    36 void print(){
    37     return;
    38 }
    39 int main(){init();work();print();return 0;}
  • 相关阅读:
    Java操作excel
    (13)C++ 多态
    (12)C++ 继承
    (18)C++ string和标准模板库
    parseInt(str),parseFloat(str)
    JavaScript substring() 方法
    JavaScript遍历对象中所有元素
    JavaScript中的number跟string
    mybatis动态sql
    Android数据存储之Android 6.0运行时权限下文件存储的思考
  • 原文地址:https://www.cnblogs.com/chxer/p/4659016.html
Copyright © 2011-2022 走看看