USACO 1.5 Prime Palindromes(枚举)

news/2024/7/8 7:31:22 标签: c/c++

本来想筛选素数的。。。交了之后发现复杂度也太高了。。。可耻的看了一下hint,然后就各种for枚举了每一位了。.。

  1 /*
  2 ID: cuizhe
  3 LANG: C++
  4 TASK: pprime
  5 */
  6 #include <cstdio>
  7 #include <cstring>
  8 #include <cmath>
  9 #include <algorithm>
 10 using namespace std;
 11 #define N 1000001
 12 bool p[N];
 13 int prim[100000],num;
 14 int judge(int x)
 15 {
 16     int i;
 17     for(i = 1;i <= num-1;i ++)
 18     {
 19         if(prim[i] > x)
 20         break;
 21         if(x%prim[i] == 0)
 22         return 0;
 23     }
 24     return 1;
 25 }
 26 int main()
 27 {
 28     int i,j,k,u;
 29     long long t,a,b;
 30     freopen("pprime.in","r",stdin);
 31     freopen("pprime.out","w",stdout);
 32     scanf("%lld%lld",&a,&b);
 33     for(i = 2; i <= N; i ++)
 34     {
 35         if(!p[i])
 36         {
 37             for(j = i+i; j <= N; j += i)
 38             {
 39                 p[j] = 1;
 40             }
 41         }
 42     }
 43     num = 1;
 44     for(i = 2;i <= N;i ++)
 45     {
 46         if(!p[i])
 47         prim[num++] = i;
 48     }
 49     for(i = 1;i <= 9;i += 2)//一位
 50     {
 51         if(!p[i]&&i >= a&&i <= b)
 52         printf("%d\n",i);
 53     }
 54     for(i = 1;i <= 9;i += 2)//两位
 55     {
 56         if(!p[i*10+i]&&i*10+i>=a&&i*10+i<=b)
 57         printf("%d\n",i*10+i);
 58     }
 59     for(i = 1;i <= 9;i += 2)//三位
 60     {
 61         for(j = 0;j <= 9;j ++)
 62         {
 63             if(!p[i*100+j*10+i]&&i*100+j*10+i>=a&&i*100+j*10+i<=b)
 64             printf("%d\n",i*100+j*10+i);
 65         }
 66     }
 67     for(i = 1;i <= 9;i += 2)//四位
 68     {
 69         for(j = 0;j <= 9;j ++)
 70         {
 71             if(!p[i*1000+j*100+10*j+i]&&i*1000+j*100+10*j+i>=a&&i*1000+j*100+10*j+i<=b)
 72             printf("%d\n",i*100+j*100+10*j+i);
 73         }
 74     }
 75     for(i = 1;i <= 9;i += 2)//五位
 76     {
 77         for(j = 0;j <= 9;j ++)
 78         {
 79            for(k = 0;k <= 9;k ++)
 80            {
 81                t = i*10000+i+1000*j+10*j+k*100;
 82                if(!p[t]&&t>=a&&t<=b)
 83                printf("%lld\n",t);
 84            }
 85         }
 86     }
 87     for(i = 1;i <= 9;i += 2)//六位
 88     {
 89         for(j = 0;j <= 9;j ++)
 90         {
 91            for(k = 0;k <= 9;k ++)
 92            {
 93                t = i*100000+i+10000*j+10*j+k*1000+k*100;
 94                if(!p[t]&&t >= a&&t <= b)
 95                printf("%lld\n",t);
 96            }
 97         }
 98     }
 99     for(i = 1;i <= 9;i += 2)//七位
100     {
101         for(j = 0;j <= 9;j ++)
102         {
103             for(k = 0;k <= 9;k ++)
104             {
105                 for(u = 0;u <= 9;u ++)
106                 {
107                     t = 1000000*i+i+100000*j+10*j+10000*k+k*100+1000*u;
108                     if(judge(t)&&t >= a&&t <= b)
109                     printf("%lld\n",t);
110                 }
111             }
112         }
113     }
114     for(i = 1;i <= 9;i += 2)//八位
115     {
116         for(j = 0;j <= 9;j ++)
117         {
118             for(k = 0;k <= 9;k ++)
119             {
120                 for(u = 0;u <= 9;u ++)
121                 {
122                     t = 10000000*i+i+1000000*j+10*j+100000*k+k*100+10000*u+1000*u;
123                     if(judge(t)&&t >= a&&t <= b)
124                     printf("%lld\n",t);
125                 }
126             }
127         }
128     }
129     return 0;
130 }

转载于:https://www.cnblogs.com/naix-x/archive/2012/11/02/2751539.html


http://www.niftyadmin.cn/n/1122496.html

相关文章

winpe加载raid_在winpe里添加raid驱动

服务器故障&#xff0c;想COPY 出C区数据&#xff01;看来只有用winpe这条路了&#xff01;但愿明天去可以用&#xff01;Windows Preinstallation Environment(WinPE)(Windows预安装环境)基于在保护模式下运行的WindowsXP个人版内核&#xff0c;是一个只拥有较少(但是非常核心…

Spring5 异步事件

为什么80%的码农都做不了架构师&#xff1f;>>> 上一篇 Spring框架中的事件和监听器并未对Spring框架中的异步事件涉及太多&#xff0c;所以本篇是对其一个补充。 同步事件有一个主要缺点&#xff1a;它们在所调用线程的本地执行(也就是将所调用线程看成主线程的话…

AppFabric客户端的一些配置(Microsoft.Web.DistributedCache)

通过使用Microsoft.Web.DistributedCache可直接将AppFabric Cache用于Session与Cache存储。直接贴配置&#xff0c;很简单。 1、配置configSections&#xff0c; 在configurtion节点下添加以下节点内容&#xff1a; configSections <!--configSections must be the FIRST el…

使用Maven构建项目

Maven 是什么&#xff1f; Maven项目对象模型(POM)&#xff0c;可以通过一小段描述信息来管理项目的构建&#xff0c;报告和文档的软件项目管理工具。 Maven 除了以程序构建能力为特色之外&#xff0c;还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性&…

linux下redis安装

安装环境&#xff1a; linux&#xff1a;centos6.9 64位 redis版本&#xff1a;redis-4.0.2.tar.gz Redis安装 redis官网地址&#xff1a;http://www.redis.io/ 目前最新版本是4.0.2 1、下载源码&#xff0c;解压后编译源码 [rootlocalhost ~]# wget http://download.redis.io/…

RenderMonkey 练习 第一天 【opengl 纹理】

础实例&#xff1a; 我们首先实现一个带纹理模型的显示&#xff0c;大体了解RenderMonkey的操作方式。 1. 打开RenderMonkey, 右击WorkSpace的Effect WorkSpace结点&#xff0c;选择Add Default Effect->OPENGL->OPENGL&#xff0c; 创建一个基础实例。 2. 添加一张纹理…

batocera_batocera影音游戏主机系统,必须掌握的一些使用技巧

(三) batocera影音游戏主机系统&#xff0c;必须掌握的一些使用技巧在前面我们介绍了batocera这个支持上玩款游戏&#xff0c;和KODI中心的开源的影音游戏主机系统&#xff0c;和它在PC上的安装方法。现在&#xff0c;我们来说说batocera系统在使用中必须掌握的一些技巧。【1】…

在RHEL5下构建Samba文件共享服务器

一.samba服服务的安装在RHEL5系统的安装光盘中&#xff0c;与samba相关的软件包有五个&#xff1a;1.samba-3.0.23c-2.i386.rpm //服务器程序文件2.samba-client-3.0.33-3.14.el5.i386.rpm //客户端程序文件3.samba-common-3.0.33-3.14.el5.i386.rpm //服务器…