回文回文数 HUST
来源:互联网 发布:linux 解压缩文件 编辑:程序博客网 时间:2024/04/30 21:25
回文回文数 HUST - 1694
Problem
如果一个数从左往右读和从右往左读都是一样,那么这个数就叫做 “回文数”。事实上,有一些数(如 21),在十进制时不是回文数,但在其它进制(如二进制时为 10101)时就是回文数。现在,你需要找出来,前 N 个满足大于 S 且在两种或两种以上进制(二进制至十进制)上是回文数的十进制数。
Input
有多组数据第一行是数据组数 T(T ≤10) 对于每组数据,包含两个数
N(N≤15),S(0
Output
对于每一个输入,先输出一个”Case #x:”,之后输出 N 行,每行一个回文回文数数字。
Sample Input
1
3 25
Sample Output
Case #1:
26
27
28
ps:初始化数组也是需要很长时间的
代码如下:
#include<iostream> #include<cstdio> #include<string.h>#include<algorithm> using namespace std; int a[100];int chark(int x, int index) { int l = 0; while( x ) { a[l] = x % index; x /= index; l++; } // for(int i = 0; i < l; i++)// printf("%d ", a[i]);// printf("\n"); int flag = 1; int i, j; for(i = 0,j = l-1; i < j; i++, j--) { if(a[i] != a[j]) { flag = 0; break; } } if(flag) return 1; else return 0;}int main () { int t; int k = 1; scanf("%d", &t); while( t-- ) { int n , s; scanf("%d %d", &n, &s); int num = 1; printf("Case #%d:\n", k++); for(int x = s+1; num <= n; x++) { int sum = 0; for(int index = 2; index <=10 ; index++) { sum += chark(x, index);// printf("x == %d\nindex == %d\n", x, index); if(sum >= 2) break; } if(sum >= 2) { printf("%d\n", x); num++; } } } return 0;}
阅读全文
0 0
- 回文回文数 HUST
- Hust oj 1280 回文数(暴力枚举)
- 回文数&&回文串
- 回文数
- 回文数
- 回文数
- 回文数
- 回文数
- 回文数
- 回文数
- 回文数
- 回文数
- 回文数
- 回文数
- 回文数
- 回文数
- 回文数
- 回文数
- Android04-常用控件(TextView-EditText-Shape-Selector)
- 校门外的树 UESTC
- C++_012_数据结构_栈_顺序表储存版
- (总结)Nginx/LVS/HAProxy负载均衡软件的优缺点详解
- 掷硬币 HUST
- 回文回文数 HUST
- AcitivityLifecycleCallbacks接口
- ubuntu python3 安装selenium及Firefox环境配置-亲自实验,没问题
- List的子类特点区别及其优缺点
- 第二届“华为杯”初赛题目C HUST
- 中庸之道(一) UESTC
- XDOJ 1152: 数据库查询
- 分拆素数和 HDU
- ubuntu python3 安装selenium及chrome的环境配置