Beautiful Palindrome Number 美丽的回文数 HD 5062
来源:互联网 发布:盘古数据最新消息 编辑:程序博客网 时间:2024/05/01 07:24
Beautiful Palindrome Number
Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 526 Accepted Submission(s): 330
Problem Description
A positive integer x can represent as (a1a2…akak…a2a1)10 or (a1a2…ak−1akak−1…a2a1)10 of a 10-based notational system, we always call x is a Palindrome Number. If it satisfies0<a1<a2<…<ak≤9 , we call x is a Beautiful Palindrome Number.
Now, we want to know how many Beautiful Palindrome Numbers are between 1 and10N .
Now, we want to know how many Beautiful Palindrome Numbers are between 1 and
Input
The first line in the input file is an integer T(1≤T≤7) , indicating the number of test cases.
Then T lines follow, each line represent an integerN(0≤N≤6) .
Then T lines follow, each line represent an integer
Output
For each test case, output the number of Beautiful Palindrome Number.
Sample Input
216
Sample Output
9258题目的意思就是输出1~10^N中上升回文数的个数(上升回文数就是该数是一个回文数且满足左侧各个位数前一位小于后一位)创建两个数组,一个用来存储输出结果,另一个用来存储数字的字符形式————个人觉得转换为字符型更好;中间用到了一个itoa函数————用来将数字转换为字符串————头文件为stdlib.h#include <iostream>#include <cstdlib>#include <cmath>#include <cstring>using namespace std;int T,i,j,k;char st[20];int ans[7];bool judge(int m)//不想用字符串判断的话可以在分离数字的同时比较当前数字与上一个数字的大小,不过要注意位数的判断{ int i,sum = 0,k = m; while( k != 0) { i = k % 10; sum = sum * 10 + i; k /= 10; } return (sum == m);}void creatList(){ int i,j,len,flag,k; for (i = 1;i < 1000005;i++) { if(judge(i)) { flag = 1; itoa(i,st,10);//转换为字符串——10的意思是以10进制形式转换 len = strlen(st); if(len % 2 != 0) len++; for(j = 0;j < len/2 - 1;j++) { if(st[j] >= st[j + 1]) {flag = 0;break;} } k = log10(i); if(flag) ans[k+1]++;//利用log10运算的特性判断出i属于哪个区间 } } ans[0] = 1; for(i = 2; i < 7; i++) { ans[i] += ans[i - 1]; }//累加}int main(){ cin >> T; creatList(); while(T--) { cin >> i; cout << ans[i] << endl; }}
0 0
- Beautiful Palindrome Number 美丽的回文数 HD 5062
- Beautiful Palindrome Number(回文数)
- LeetCode Palindrome Number回文数
- Leetcode-- Palindrome Number 回文数
- palindrome-number(回文数)
- 9. Palindrome Number(回文数)
- Palindrome Number判断回文数
- leetcode Palindrome Number 回文数
- HDU 5062 Beautiful Palindrome Number
- HDOJ 5062 Beautiful Palindrome Number
- [LeetCode]判断回文数(Palindrome Number)
- leetcode 9 Palindrome Number 回文数
- [leetcode] Palindrome Number 回文数判断
- [LeetCode-9] Palindrome Number(回文数)
- 【LeetCode】9. Palindrome Number回文数判断
- (LeetCode)Palindrome Number -- 判断回文数
- 判断回文数 (Palindrome Number<from LeetCode>)
- 9. Palindrome Number (回文数判断)
- springMVC中整合log4j,让日志输出到控制台,并按日期记录到指定web目录
- Python学习笔记(二)
- Treap
- 福建新崛起的佛珠世家<聚美>品牌
- 最新Linux安装版本jira6.3.6安装破解以及数据导入的详细步骤
- Beautiful Palindrome Number 美丽的回文数 HD 5062
- Android 开发最佳实践
- ruby 类、对象、变量
- 嵌入式环境搭建之开发板软件环境
- IOS学习 关联(objc_setAssociatedObject、objc_getAssociatedObject、objc_removeAssociatedObject)
- 关于typedef的用法总结
- C#中串口组件的使用方法总结及上位机制作方法
- 总结一些获取系统时间的方法
- qt的stylesheet中如何设置属性使背景图自动调整来适应控件的大小