zoukankan      html  css  js  c++  java
  • 洛谷

    https://www.luogu.org/problemnew/show/P1217

    考虑暴力生成所有的回文数然后再判断是不是质数。注意个位的选择实际上只有4种。所以是 $4*10^3*10^3=4*10^6$ ,完全充裕的复杂度。

    #include<bits/stdc++.h>
    using namespace std;
    #define ll long long
    
    int a,b;
    vector<int> ans;
    
    bool isp(int n){
        int c=sqrt(n+1e-4);
        for(int i=2;i<=c;i++){
            if(n%i==0)
                return false;
        }
        return true;
    }
    
    void gen1(){
        if(a<=2&&2<=b)
            ans.push_back(2);
        if(a<=3&&3<=b)
            ans.push_back(3);
        if(a<=5&&5<=b)
            ans.push_back(5);
        if(a<=7&&7<=b)
            ans.push_back(7);
    }
    
    void gen2(){
        for(int d=1;d<=9;d++){
            if(d!=5){
                int p=11*d;
                if(a<=p&&p<=b)
                    if(isp(p))
                        ans.push_back(p);
    
            }
        }
    }
    
    void gen3(){
        for(int d=1;d<=9;d++){
            if(d!=5){
                for(int d2=0;d2<=9;d2++){
                    int p=101*d+10*d2;
                    if(a<=p&&p<=b)
                        if(isp(p))
                            ans.push_back(p);
                }
    
            }
        }
    }
    
    void gen4(){
        for(int d=1;d<=9;d++){
            if(d!=5){
                for(int d2=0;d2<=9;d2++){
                    int p=1001*d+110*d2;
                    if(a<=p&&p<=b)
                        if(isp(p))
                            ans.push_back(p);
                }
    
            }
        }
    }
    
    void gen5(){
        for(int d=1;d<=9;d++){
            if(d!=5){
                for(int d2=0;d2<=9;d2++){
                    for(int d3=0;d3<=9;d3++){
                        int p=10001*d+1010*d2+100*d3;
                        if(a<=p&&p<=b)
                            if(isp(p))
                                ans.push_back(p);
                    }
                }
            }
        }
    }
    
    void gen6(){
        for(int d=1;d<=9;d++){
            if(d!=5){
                for(int d2=0;d2<=9;d2++){
                    for(int d3=0;d3<=9;d3++){
                        int p=100001*d+10010*d2+1100*d3;
                        if(a<=p&&p<=b)
                            if(isp(p))
                                ans.push_back(p);
                    }
                }
            }
        }
    }
    
    void gen7(){
        for(int d=1;d<=9;d++){
            if(d!=5){
                for(int d2=0;d2<=9;d2++){
                    for(int d3=0;d3<=9;d3++){
                        for(int d4=0;d4<=9;d4++){
                            int p=1000001*d+100010*d2+10100*d3+1000*d4;
                            if(a<=p&&p<=b)
                                if(isp(p))
                                    ans.push_back(p);
                        }
                    }
                }
            }
        }
    }
    
    void gen8(){
        for(int d=1;d<=9;d++){
            if(d!=5){
                for(int d2=0;d2<=9;d2++){
                    for(int d3=0;d3<=9;d3++){
                        for(int d4=0;d4<=9;d4++){
                            int p=10000001*d+1000010*d2+100100*d3+11000*d4;
                            if(a<=p&&p<=b)
                                if(isp(p))
                                    ans.push_back(p);
                        }
                    }
                }
            }
        }
    }
    
    
    
    void solve(){
        gen1();
        gen2();
        gen3();
        gen4();
        gen5();
        gen6();
        gen7();
        gen8();
    }
    
    
    int main(){
        scanf("%d%d",&a,&b);
        solve();
        sort(ans.begin(),ans.end());
        for(auto i:ans)
            printf("%d
    ",i);
    }
  • 相关阅读:
    python判断字典中key是否存在
    获取redis中所有的key,清空整个 Redis 服务器的数据
    python redis模块详解
    Windows中redis的下载及安装、设置
    .htaccess
    python介绍
    vi和vim
    其他
    Linux系统相关命令
    Linux用户权限常见命令
  • 原文地址:https://www.cnblogs.com/Yinku/p/10315468.html
Copyright © 2011-2022 走看看