USACO Section 1.2 Dual Palindromes 解题报告
2016-08-29 15:15
441 查看
题目
题目描述
有一些数(如 21),在十进制时不是回文数,但在其它进制(如二进制时为 10101)时就是回文数。编一个程序,从文件读入两个十进制数N、S。然后找出前 N 个满足大于 S 且在两种以上进制(二进制至十进制)上是回文数的十进制数。
数据范围
1 <= N <= 15
0 < S < 10000
样例输入
3 25
样例输出
26
27
28
解题思路
按照Palindromic Squares的解题思路,我们直接枚举所有的数字,然后判断是否满足条件,满足条件的输出即可。
解题代码
/* ID: yinzong2 PROG: dualpal LANG: C++11 */ #define MARK #include<cstdio> #include<cmath> #include<cstring> #include<algorithm> using namespace std; const int MAXN = 32; char alph[20] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J' }; int n,s; char *trans(int x, int base) { char *b = new char[MAXN]; int len = 0; while(x) { b[len++] = alph[x%base]; x /= base; } b[len] = '\0'; return b; } bool judge(char s[]) { int len = strlen(s); for(int i = 0, j = len-1; i <= j; i++, j--) { if(s[i] != s[j]) { return false; } } return true; } int main() { #ifdef MARK freopen("dualpal.in", "r", stdin); freopen("dualpal.out", "w", stdout); #endif // MARK while(~scanf("%d%d", &n, &s)) { bool flag; //用cnt来保证一共找到n个符合要求的回文串 for(int i = 1, cnt = 0; cnt < n; i++) { flag = false; //num用来记录一个数在2~10进制之间共有几种进制是回文串 int num = 0; for(int j = 2; j <= 10; j++) { if(judge( trans(s+i, j) )) { num++; if(num >= 2) { flag = true; cnt++; break; } } } if(flag) { printf("%d\n", s+i); } } } return 0; }
相关文章推荐
- USACO Section 1.2 Name That Number 解题报告
- USACO Section 1.2 Milking Cows 解题报告
- USACO Section1.2 Name That Number 解题报告
- USACO Section1.2 Dual Palindromes 解题报告
- USACO Section 1.2 Palindromic Squares 解题报告
- USACO Section 1.3 Barn Repair 解题报告
- USACO Section 2.1 The Castle 解题报告
- USACO Section1.3 Barn Repair 解题报告
- USACO Section2.1 The Castle 解题报告
- USACO Section1.3 Prime Cryptarithm 解题报告
- USACO Section2.1 Ordered Fractions 解题报告
- USACO Section 1.3 Mixing Milk 解题报告
- USACO Section1.3 Combination Lock 解题报告
- USACO Section1.5 Number Triangles 解题报告
- USACO Section2.1 Sorting a Three-Valued Sequence 解题报告
- USACO Section2.3 Zero Sum 解题报告 【icedream61】
- USACO Section1.5 Prime Palindromes 解题报告
- USACO Section2.3 Money Systems 解题报告 【icedream61】
- USACO Section1.3 Ski Course Design 解题报告
- USACO Section1.5 Superprime Rib 解题报告