• usaco-sprime-superprime-pass


    这个题目开始真正用C++了,因为,数组的分配有限制了,只好用c++中的vector:

    /*
    ID: qq104801
    LANG: C++
    TASK: sprime
    */
    
    #include <iostream>
    #include <cstdio>
    #include <string>
    #include <cstring>
    #include <vector>
    #include <map>
    #include <set>
    #include <algorithm>
    #include <cstdlib>
    #include <cmath>
    
    using namespace std;
    
    vector<vector<int> > p(9);
    int n;
    
    int isprime(int x)
    {    
        if (x%2==0)return 0;
        for(int i=3;i*i<=x;i+=2)
            if(x%i==0)return 0;    
        return 1;
    }
    
    void test()
    {    
        freopen("sprime.in","r",stdin);
        freopen("sprime.out","w",stdout);
        cin>>n;
        //cout<<n<<endl;
        p[1].push_back(2);
        p[1].push_back(3);
        p[1].push_back(5);
        p[1].push_back(7);
        for(int i=2;i<=n;i++)
        {
            for(int j=0;j<p[i-1].size();j++)
            {
                long long num=p[i-1][j]*10;
                long long k;
                for(k=num+1;k<=num+9;k+=2)
                    if(isprime(k))p[i].push_back(k);
            }
        }
    
        for(int i=0;i<p[n].size();i++)
            cout<<p[n][i]<<endl;
    }
    
    int main () 
    {        
        test();        
        return 0;
    }

    看看测试结果:

    USER: cn tom [qq104801]
    TASK: sprime
    LANG: C++
    
    Compiling...
    Compile: OK
    
    Executing...
       Test 1: TEST OK [0.008 secs, 3508 KB]
       Test 2: TEST OK [0.003 secs, 3508 KB]
       Test 3: TEST OK [0.008 secs, 3508 KB]
       Test 4: TEST OK [0.008 secs, 3508 KB]
       Test 5: TEST OK [0.011 secs, 3508 KB]
    
    All tests OK.
    
    Your program ('sprime') produced all correct answers! This is your submission #2 for this problem. Congratulations!
    
    Here are the test data inputs:
    
    ------- test 1 ----
    4
    ------- test 2 ----
    5
    ------- test 3 ----
    6
    ------- test 4 ----
    7
    ------- test 5 ----
    8
    
    Keep up the good work!
    Thanks for your submission!
    /***********************************************

    看书看原版,原汁原味。

    不会英文?没关系,硬着头皮看下去慢慢熟练,才会有真正收获。

    没有原书,也要网上找PDF来看。

    网上的原版资料多了去了,下载东西也到原始下载点去看看。

    你会知其所以然,呵呵。

    ***********************************************/

  • 相关阅读:
    R语言常用操作
    Java小知识点
    客户端(android,ios)与服务器通信
    图片保存数据库
    Centos 添加SWAP(交换分区)
    mysql基本知识
    php 工作模式
    apache 工作模式
    lnmp 虚拟主机配置及重写
    mysql alter的常用用法
  • 原文地址:https://www.cnblogs.com/dpblue/p/3950845.html
Copyright © 2020-2023  润新知