zoukankan      html  css  js  c++  java
  • hdu 1431 素数回文

    http://acm.hdu.edu.cn/showproblem.php?pid=1431

    run了好几次,当自己郁闷的时候突然看到了一句话,偶数位的回文串都可以被11整除当然要除了11,说明八位的数据可以全部忽略从9989899开始,这样问题就简单多了,减少了很多数的筛选与数组的空间,我们还可以先去除所有的偶数位的数再来筛选,这样可能更简单,看过还有打表的,真是佩服。。。

    #include <stdio.h>

    #include <string.h>

    #include <stdlib.h>

    #include <math.h>

    bool p[9989900];

    int d[100000],k;

    void prim()

    {

         for(int i=0;i<=3163;++i)

         { 

                 p[i]=0;

         }

         k=0;

         for(int i=2;i<=3163;++i)//素数筛选法 

         {

                 if(!p[i])

                 {

                     for(int j=i*i;j<=9989899;j+=i)

                     p[j]=1;    

                 }

         }

    }

    bool mm(int x)

    {

           int  t=x,v=0;

           while(t)

           {

                v=v*10;

                v+=t%10;

                t=t/10;

           }

           return x==v;

    }

    int main()

    {

        int a,b,i;

        k=0;

        prim();

        for(int i=5;i<=9989899;++i)

        if(!p[i]&&mm(i))

        d[k++]=i;

        while(scanf("%d%d",&a,&b)!=EOF)

        {

             for(int i=0;i<k;++i)

             {

                     if(d[i]<a) continue;

                     else if(d[i]<=b)  printf("%d\n",d[i]);

                     else

                     break;

             } 

             printf("\n");

        }

      //  system("pause");

        return 0;

    }

  • 相关阅读:
    CLR(Common Language Runtime)
    六个经典的英语面试问题
    XML基本知识(三)
    vc++中各种字符串(转载)
    winform窗体间传值
    jQuery实现按比例缩放图片
    .net中几个名词解释
    XML Schema 定义
    C#中TreeView组件使用方法初步
    微软电话面试题
  • 原文地址:https://www.cnblogs.com/yuelingzhi/p/2127974.html
Copyright © 2011-2022 走看看