Vijos 捕风捉影
背景
《风云》里有详细记载,自己去看吧^_^...
描述
有一天,雄霸传授本人风神腿法第一式:捕风捉影..............的步法(弟子一:堂主,你大喘气呀。风:你给我闭嘴。)捕风捉影的关键是换气(换不好就会大喘气...)。
使用捕风捉影这一招时并不是每一步都喘气,而是在特定的步数喘气。一般来说功力越高,喘气越稀疏。喘气的步数符合特定规律:第一要是SUSHU(弟子二:哇塞!堂主,你还会鸟语,我好好崇拜你呦!可是SUSHU是什么意思呢?风:笨蛋,那是汉语拼音!)第二要是一个回文数,回文数就是正反念一样的数,如:123321,121,5211314(弟子三:堂主,最后一个好象不是...风:废话,当然不是了,我是考察一下你们的纠错能力!)现在给出两个数M,N(5<=M<N<=100,000,000),你要算出M,N之间需要换气的都有哪几步。(包括M,N)。算出来的可以提升为本堂一级弟子,月薪(1000000000000000000000000000000000000000000 MOD 10 )元。
格式
输入格式
两个整数M,N。用空格隔开。
输出格式
在M,N之间的换气点,每个一行。
样例1
样例输入1
100 500
样例输出1
101
131
151
181
191
313
353
373
383
来源
来自天下会神风堂主
1 /* 2 乍一看数据范围很大 3 其实只需要注意两点就行了 4 这个回文素数必定是2n-1位 2n位回文数必定被11整除 5 回文数第一位只能是1 3 7 9 6 把回文数表打出来在判断就好了 7 */ 8 #include<cmath> 9 #include<cstdio> 10 #include<iostream> 11 #include<algorithm> 12 #define MAXN 1010 13 14 using namespace std; 15 16 int n,m,cnt; 17 int a[MAXN]; 18 19 inline void read(int&x) { 20 x=0;int f=1;char c=getchar(); 21 while(c>'9'||c<'0') {if(c=='-') f=-1;c=getchar();} 22 while(c>='0'&&c<='9') {x=(x<<1)+(x<<3)+c-48;c=getchar();} 23 x=x*f; 24 } 25 26 inline bool pd(int x) { 27 for(int i=2;i<=sqrt(x);i++) 28 if(x%i==0) return false; 29 return true; 30 } 31 32 inline void sushu() { 33 for(int i=1;i<=9;i+=2) { 34 if(pd(i*10+i)) a[++cnt]=i*10+i; 35 if(i!=5) 36 for(int j=0;j<=9;j++) { 37 if(pd(i*100+j*10+i)) a[++cnt]=i*100+j*10+i; 38 for(int k=0;k<=9;k++) { 39 if(pd(i*10000+j*1000+k*100+j*10+i)) a[++cnt]=i*10000+j*1000+k*100+j*10+i; 40 for(int l=0;l<=9;l++) { 41 if(pd(i*1000000+j*100000+k*10000+l*1000+k*100+j*10+i)) 42 a[++cnt]=i*1000000+j*100000+k*10000+l*1000+k*100+j*10+i; 43 } 44 } 45 } 46 } 47 } 48 49 int main() { 50 read(n);read(m); 51 a[++cnt]=5;a[++cnt]=7; 52 sushu(); 53 sort(a+1,a+1+cnt); 54 for(int i=1;i<=cnt;i++) 55 if(a[i]>=n&&a[i]<=m) 56 printf("%d\n",a[i]); 57 //printf("%d\n",cnt); 58 return 0; 59 }
代码
Vijos 捕风捉影相关推荐
- vijos 1006 晴天小猪历险记之Hill——数字三角形的终极变化
题目链接:https://vijos.org/p/1006 数字三角形原题看这里:http://www.cnblogs.com/huashanqingzhu/p/7326837.html 背景 在很久 ...
- vijos 1476 旅游规划题解
题目链接:https://vijos.org/p/1476 解:因为这一定是一棵树,所以我们多画几次图,就会发现所有的最长路径中心点都一样,且中心点把这条最长路径分成两段等长的路. 那么做法就很简单啦 ...
- Vijos P1848 记数问题【进制】
描述 试计算在区间 1 到 n 的所有整数中,数字 x(0 ≤ x ≤ 9)共出现了多少次?例如,在 1 到 11 中,即在 1.2.3.4.5.6.7.8.9.10.11 中,数字 1 出现了 4 ...
- Vijos P1131 最小公倍数和最大公约数问题【暴力】
最小公倍数和最大公约数问题 描述 输入二个正整数x0,y0(2≤x0≤100000,2≤y0≤1000000),求出满足下列条件的P.Q的个数. 条件:1.P.Q是正整数 2.要求P.Q以xO为最大公 ...
- Vijos P1103 校门外的树【线段树,模拟】
校门外的树 描述 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米.我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置:数轴上的每个整数点,即0,1,2,--, ...
- Vijos p1165 火烧赤壁 离散化+单调栈
题目链接:https://vijos.org/p/1165 题意:输入n(n <= 20,000)段线段的端点,问所有线段的长度总和为多少? input: 3 -1 1 5 11 2 9 out ...
- |Vijos|树状数组|P1512 SuperBrother打鼹鼠
https://vijos.org/p/1512 一个二维树状数组,注意树状数组不能出现0,把所有坐标+1即可,求子矩阵和为 sub(x2,y2) - sub(x1-1,y2) - sub(x2, y ...
- Vijos P1756 数字反转【进制】
背景 noip2011 NO.1 描述 给定一个整数,请将该数各个位上数字反转得到一个新数.新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2). ...
- Vijos P1449 字符串还原【密码】
背景 小K是一位蔚蓝教主的崇拜者(Orz教主er),有一天,他收到了一封匿名信,信告诉了小K由于他表现出色,得到了一次当面Orz教主的机会,但是要当面Orz教主可不那么容易,不是每个人都有资格Orz教 ...
最新文章
- 光猫直连电脑不能上网_电脑不能上网怎么办?DNS解析失败的解决方法
- 数据结构开发(3):线性表的顺序存储结构
- Java后台入坑二:renrenfast后台打包和前端打包运行
- java高级工程师个人简历模板
- 轻松获奖五一数学建模和蓝桥杯
- 自来水管道铺设问题——数学建模
- 数字金字塔:输入一个正整数n,输出n行数字金字塔.
- C# System.BadImageFormatException 解决方法
- ajax 服务路由,Angular自定义服务路由
- 计算机考研11408总分418上岸攻略
- linux怎么找回普通用户密码,Ubuntu Linux系统密码找回
- 多路脉冲发生器设计(脉冲个数,脉冲宽度可控)
- SAP FICO 解析成本要素类别
- torch.atan2函数详细解答
- 还在996?等着进ICU?程序员不服!
- 基于C#弹幕类射击游戏的实现——(五)主场景
- Elasticsearch:理解 query_string 和 simple_query_string 查询
- 企业微信应用提示无法访问该网页(SSL_UNTRUSTED)
- java outputstring_关于java:将OutputStream转换为String
- 仿蘑菇街,蜜芽宝贝,京东商品详情界面,与NestedScroll滑动