HDU 1431 素数回文
有人问我这个问题。
个人感觉暴搜会TLE O(n*sqrt(n))。n=100000000;(推断素数用2~sqrt(n)+1 去除)
还是枚举好了。
枚举 1~10000,把他每一位存下来,回文数已知 left 。求 right ,然后组合起来。
比如 1 ,推断 11 是否素数。
比如 10 。推断 101 是否素数, 推断 1001 是否素数。
这样复杂度就是 O(n^2)。
開始我 bool pa[100000000] 准备用标记来确定。
结果MLE。
然后算了一下 总共同拥有多少个数,最多 781 个。 int pa[1000] 就能够装下了。
G++ 15ms
#include<cstdio>
#include<cstring>
#include<string>
#include<queue>
#include<algorithm>
#include<map>
#include<stack>
#include<iostream>
#include<list>
#include<set>
#include<vector>
#include<cmath> #define INF 0x7fffffff
#define eps 1e-8
#define LL long long
#define PI 3.141592654
#define CLR(a,b) memset(a,b,sizeof(a))
#define FOR(i,a,b) for(int i=a;i<b;i++)
#define FOR0(i,a,b) for(int i=a;i>=b;i--)
#define pb push_back
#define mp make_pair
#define ft first
#define sd second
#define sf scanf
#define pf printf
#define sz(v) ((int)(v).size())
#define all(v) (v).begin(),(v).end()
#define acfun std::ios::sync_with_stdio(false) #define SIZE 100000000 +1
using namespace std; int pa[1000];
int cot;
bool prime(int n)
{
FOR(i,2,sqrt(n)+2)
if(n%i==0)return 0;
return 1;
} void PA()
{
cot=0;
pa[cot++]=2;
pa[cot++]=3;
pa[cot++]=5;
pa[cot++]=7;
FOR(i,1,10000)
{
int num[5];
int len=0;
int m=i;
while(m)
{
int tmp=m%10;
num[len++]=tmp;
m/=10;
}
int ans=i;
if(len>1)
{
FOR(r,1,len)
ans=ans*10+num[r];
if(prime(ans))
pa[cot++]=ans;
}
ans=i;
FOR(r,0,len)
ans=ans*10+num[r];
if(prime(ans))
pa[cot++]=ans;
}
} int main()
{
PA();
int a,b;
while(~sf("%d%d",&a,&b))
{
FOR(i,0,cot)
if(pa[i]>=a&&pa[i]<=b)pf("%d\n",pa[i]);
pf("\n");
}
}
HDU 1431 素数回文的更多相关文章
- F题 hdu 1431 素数回文
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1431 素数回文 Time Limit: 2000/1000 MS (Java/Others) M ...
- 题解报告:hdu 1431 素数回文
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1431 Problem Description xiaoou33对既是素数又是回文的数特别感兴趣.比如说 ...
- hdu 1431 素数回文(暴力打表,埃托色尼筛法)
这题开始想时,感觉给的范围5 <= a < b <= 100,000,000太大,开数组肯定爆内存,而且100000000也不敢循环,不超时你打我,反正我是不敢循环. 这题肯定得打表 ...
- HDU 1431 素数回文 离线打表
题目描述:给定一个区间,将这个区间里所有既是素数又是回文数的数输出来. 题目分析:这题的这个数据范围比较大,达到了10^8级别,而且输入的数据有多组,又因为判断一个数是否是回文数貌似只有暴力判断,时间 ...
- 素数回文(hdu1431)
素数回文 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- 素数回文(dfs,有bug)
素数回文 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- 4N - 素数回文
xiaoou33对既是素数又是回文的数特别感兴趣.比如说151既是素数又是个回文.现在xiaoou333想要你帮助他找出某个范围内的素数回文数,请你写个程序找出 a 跟b 之间满足条件的数.(5 &l ...
- 12--c完数/最大公约数/最小公倍数/素数/回文数
完数/最大公约数/最小公倍数/素数/回文数 2015-04-08 10:33 296人阅读 评论(0) 收藏 举报 分类: C/C++(60) 哈尔滨工业大学(8) 版权声明:本文为博主原创文章 ...
- HDU 5651 计算回文串个数问题(有重复的全排列、乘法逆元、费马小定理)
原题: http://acm.hdu.edu.cn/showproblem.php?pid=5651 很容易看出来的是,如果一个字符串中,多于一个字母出现奇数次,则该字符串无法形成回文串,因为不能删减 ...
随机推荐
- jqGrid动态增加列,使用在根据条件筛选而出现不同的列的场景
function GetGrid2() { var jqdata = [ { Encode:"20180100", FullName: "BYD", SpecT ...
- GoldenGate 12c 新特性 Credential Store and USERIDALIAS
GoldenGate 12C的Credential Store and USERIDALIAS新特性有点类似存储钱夹,提高了配置的易用性和安全性. --生成credentialstore文件 GGSC ...
- java 获取文件后缀名(文件类型)
java 获取文件后缀名(文件类型) CreateTime--2018年5月23日09:16:31 Author:Marydon // 获取文件名的后缀名(文件类型) String oldFile ...
- 〖Android〗快速部署SSHD和Bash Shell(程序:DroidSSHD和BetterTerminalEmulatorPro)
--此文仅做个人配置记录-- 因为我经常需要sshd来连接设备,它抓取logcat日志太方便了,方便排查问题,及多人共享: 及有USB孔限制的人来说,这个更具有意义: 把超级终端增强包部署到内网,也是 ...
- windows下命令行终端使用rz上传文件参数详解
rz命令: (X) = option applies to XMODEM only (Y) = option applies to YMODEM only (Z) = option applies t ...
- CSS3 flex的使用方法
display:flex; align-items://水平对齐方式 justify-content://垂直对齐方式 flex://盒子所占大小(如果你盒子里面只有两个div,那么你设置其中之一个f ...
- spdk 编译动态库( spdk compiles shared library )
1,dpdk编译共享库 默认情况下都编译出静态库,如果想编译出动态库,把config/common_base文件中的CONFIG_RTE_BUILD_SHARED_LIB改成y即可. 2,spdk编译 ...
- lua lua_settable
void lua_settable (lua_State *L, int index); Does the equivalent to t[k] = v, where t is the value a ...
- 【DM】Combating Web Spam with TrustRank - 用TrustRank对抗网络垃圾邮件
[论文标题]Combating Web Spam with TrustRank (Proceedings 2004 VLDB Conference) [论文作者]Zolt´an Gy¨ongyi,He ...
- JavaScript escape() unescape() decodeURI()函数对字符串进行编码解码
定义和用法 escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串. 语法 escape(string) 参数 描述 string 必需.要被转义或编码的字符串. 返回值 已 ...