zoukankan      html  css  js  c++  java
  • CF 113C

    求区间 [l,r]   满足 素数 = a^2+b^2    a b为任意整数

    打素数表,如何证明  此时的素数满足 %4==1 

     1 #include<iostream>
     2 #include<stdio.h>
     3 #include<cstring>
     4 #include<cstdlib>
     5 #include<bitset>
     6 using namespace std;
     7 const int maxn=3e8+10;
     8 
     9 bitset<maxn>prime;
    10 int main()
    11 {
    12     int l,r,i,j;
    13     while(scanf("%d%d",&l,&r)>0)
    14     {
    15         prime.set();
    16         for(i=3;(j=i*i)<=r;i=i+2)//i*i<=r
    17         {
    18             if(prime[i]==false)continue;
    19             for(;j<=r;j=j+i+i) // !!! j=j+i+i;
    20                 prime[j]=false;
    21         }
    22         int ans=0;
    23         if(l<=2 && 2<=r) ans++;
    24         for(i=5;i<=r;i=i+4)
    25             if(l<=i && prime[i]==true) ans++;
    26         printf("%d
    ",ans);
    27     }
    28     return 0;
    29 }
  • 相关阅读:
    php知识点
    CommonsChunkPlugin知识点
    待学习
    svn知识点
    es6知识点
    webpack2新特性
    排序算法
    交流措辞
    js继承
    多行编辑软件
  • 原文地址:https://www.cnblogs.com/tom987690183/p/3738229.html
Copyright © 2011-2022 走看看