题解

96 条题解

  • 0
    @ 2008-09-20 17:02:41

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:运行超时...

    ---|---|---|---|---|---|---|---|-

    Unaccepted 有效得分:80 有效耗时:0ms

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

  • 0
    @ 2008-08-30 11:56:56

    深搜。。

    while (deep!=n)

    {

    for (int i=head; i

  • 0
    @ 2008-08-22 21:08:50

    DFS

    以位数为深度搜索,每次枚举当前数的末尾,并检查是不是质数,如果不是就剪枝。

    小优化:质数的末尾不可能是(0,2,4,5,6,8),只可能是(1,3,7,9),一位数的质数特殊考虑。这样枚举情况就只有4种。

    用预处理…否则貌似会超时…先生成1位的质数,再用1位的质数生成2位,然后用2位的生成3位…就这样递归下去….最后一位直接全部输出然后Halt就好了…

  • 0
    @ 2008-08-21 16:14:02

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    楼下的老兄!我算法和你差不多!

    只不过,逐步我在数尾加1.3.7.9!

    5不用加!

    加上5的话,一定不是素数!

    并且我判断素数的方法如下:

    function pp(i:longint):boolean;

    var

    j:longint;

    begin

    pp:=true;

    for j:=2 to trunc(sqrt(i)) do

    if i mod j=0 then

    begin

    pp:=false;

    exit;

    end;

    end;

    加上一个exit可以省不少时间噢!

  • 0
    @ 2008-08-20 20:01:23

    。。。我用了很传统的方法,首先是列出质数,2.3.5.7

    逐步在数尾加1.3.5.7.9,然后。。。

    f:=true;

    for k:= 2 to trunc(sqrt(x)) do

    if x mod k = 0 then f:=false;

    当然是有减枝。。。

  • 0
    @ 2008-08-20 12:02:36

    我做这题好多年...该你了..

  • 0
    @ 2008-08-11 17:43:11

    这么道题想了好久~ 终于对了 T_T

    看来常规方法基本上没几个不超时~

  • 0
    @ 2008-07-24 22:12:47

    非一位数数字结尾是0,2,4,5,6,8的,均不是质数。

  • 0
    @ 2008-07-22 10:51:23

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

  • 0
    @ 2008-07-21 13:26:31

    这题好啊,为大家提高通过率 哈哈

    无聊A水题..

  • 0
    @ 2008-07-18 22:17:02

    按照大牛的方法修改了 可还是20分 4个点都超时!

  • 0
    @ 2008-07-16 14:52:22

    看到一弱题,AC了再说,庆祝达到3星半

  • 0
    @ 2008-07-16 13:30:42

    经检验

    当n>=9时无解

  • 0
    @ 2008-07-16 12:02:32

    chair

    先列出质数,2.3.5.7

    逐步在数尾加1.3.5.7.9,保证新数为素数即可AC

  • -1
    @ 2015-01-25 11:41:17

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    int a[10][50];
    int b[8]={2,8,13,15,14,11,7,4};
    int main()
    {
    int n;
    cin>>n;
    a[1][0]=3;
    a[1][1]=5;
    a[1][2]=7;
    a[2][0]=23;
    a[2][1]=29;
    a[2][2]=31;
    a[2][3]=37;
    a[2][4]=53;
    a[2][5]=59;
    a[2][6]=71;
    a[2][7]=73;
    a[2][8]=79;
    a[3][0]=233;
    a[3][1]=239;
    a[3][2]=293;
    a[3][3]=311;
    a[3][4]=313;
    a[3][5]=317;
    a[3][6]=373;
    a[3][7]=379;
    a[3][8]=593;
    a[3][9]=599;
    a[3][10]=719;
    a[3][11]=733;
    a[3][12]=739;
    a[3][13]=797;
    a[4][0]=2333;
    a[4][1]=2339;
    a[4][2]=2393;
    a[4][3]=2399;
    a[4][4]=2939;
    a[4][5]=3119;
    a[4][6]=3137;
    a[4][7]=3733;
    a[4][8]=3739;
    a[4][9]=3793;
    a[4][10]=3797;
    a[4][11]=5939;
    a[4][12]=7193;
    a[4][13]=7331;
    a[4][14]=7333;
    a[4][15]=7393;
    a[5][0]=23333;
    a[5][1]=23339;
    a[5][2]=23399;
    a[5][3]=23993;
    a[5][4]=29399;
    a[5][5]=31193;
    a[5][6]=31379;
    a[5][7]=37337;
    a[5][8]=37339;
    a[5][9]=37397;
    a[5][10]=59393;
    a[5][11]=59399;
    a[5][12]=71933;
    a[5][13]=73331;
    a[5][14]=73939;
    a[6][0]=233993;
    a[6][1]=239933;
    a[6][2]=293999;
    a[6][3]=373379;
    a[6][4]=373393;
    a[6][5]=593933;
    a[6][6]=593993;
    a[6][7]=719333;
    a[6][8]=739391;
    a[6][9]=739393;
    a[6][10]=739397;
    a[6][11]=739399;
    a[7][0]=2339933;
    a[7][1]=2399333;
    a[7][2]=2939999;
    a[7][3]=3733799;
    a[7][4]=5939333;
    a[7][5]=7393913;
    a[7][6]=7393931;
    a[7][7]=7393933;
    a[8][0]=23399339;
    a[8][1]=29399999;
    a[8][2]=37337999;
    a[8][3]=59393339;
    a[8][4]=73939133;
    for(int i=0;i<=b[n-1];i++)
    cout<<a[n][i]<<endl;
    return 0;
    }

  • -1
    @ 2014-07-31 10:49:25

    打表艺术
    #include<cstdio>
    #include<iostream>
    using namespace std;
    int a[10],b[100],c[100],d[100],e[100],f[100],g[100],h[100];
    int main(){
    int i,j,n;
    a[1]=2;
    a[2]=3;
    a[3]=5;
    a[4]=7;
    b[1]=23;
    b[2]=29;
    b[3]=31;
    b[4]=37;
    b[5]=53;
    b[6]=59;
    b[7]=71;
    b[8]=73;
    b[9]=79;
    c[1]=233;
    c[2]=239;
    c[3]=293;
    c[4]=311;
    c[5]=313;
    c[6]=317;
    c[7]=373;
    c[8]=379;
    c[9]=593;
    c[10]=599;
    c[11]=719;
    c[12]=733;
    c[13]=739;
    c[14]=797;
    d[1]=2333;
    d[2]=2339;
    d[3]=2393;
    d[4]=2399;
    d[5]=2939;
    d[6]=3119;
    d[7]=3137;
    d[8]=3733;
    d[9]=3739;
    d[10]=3793;
    d[11]=3797;
    d[12]=5939;
    d[13]=7193;
    d[14]=7331;
    d[15]=7333;
    d[16]=7393;
    e[1]=23333;
    e[2]=23339;
    e[3]=23399;
    e[4]=23993;
    e[5]=29399;
    e[6]=31193;
    e[7]=31379;
    e[8]=37337;
    e[9]=37339;
    e[10]=37397;
    e[11]=59393;
    e[12]=59399;
    e[13]=71933;
    e[14]=73331;
    e[15]=73939;
    f[1]=233993;
    f[2]=239933;
    f[3]=293999;
    f[4]=373379;
    f[5]=373393;
    f[6]=593933;
    f[7]=593993;
    f[8]=719333;
    f[9]=739391;
    f[10]=739393;
    f[11]=739397;
    f[12]=739399;
    g[1]=2339933;
    g[2]=2399333;
    g[3]=2939999;
    g[4]=3733799;
    g[5]=5939333;
    g[6]=7393913;
    g[7]=7393931;
    g[8]=7393933;
    h[1]=23399339;
    h[2]=29399999;
    h[3]=37337999;
    h[4]=59393339;
    h[5]=73939133;
    scanf("%d",&n);
    switch(n){
    case 1:for(i=1;i<=4;i++)printf("%d\n",a[i]);break;
    case 2:for(i=1;i<=9;i++)printf("%d\n",b[i]);break;
    case 3:for(i=1;i<=14;i++)printf("%d\n",c[i]);break;
    case 4:for(i=1;i<=16;i++)printf("%d\n",d[i]);break;
    case 5:for(i=1;i<=15;i++)printf("%d\n",e[i]);break;
    case 6:for(i=1;i<=12;i++)printf("%d\n",f[i]);break;
    case 7:for(i=1;i<=8;i++)printf("%d\n",g[i]);break;
    case 8:for(i=1;i<=5;i++)printf("%d\n",h[i]);break;
    }
    //printf("------------------\n");
    //for(i=1;i<=16;i++)printf("%d\n",d[i]);
    //system("PAUSE");
    return 0;
    }

信息

ID
1359
难度
3
分类
搜索 | 枚举数论 点击显示
标签
(无)
递交数
2004
已通过
953
通过率
48%
被复制
7
上传者