uva 12050 - Palindrome Numbers(数论)
来源:互联网 发布:80后和90后的区别 知乎 编辑:程序博客网 时间:2024/05/01 03:15
题目链接:uva 12050 - Palindrome Numbers
题目大意:给出i,输出第i个镜像数,不能有前导0.
解题思路:除了第一位的可能为9外,其他的都为10,这样可以根据i找到位数,然后对每一位进进计算输出。
样例:28 -> 191(边界的地方注意)
#include <stdio.h>#include <string.h>const int N = 20;int n, t[N];void solve (int bit) {int b = (bit+1)/2, ans[N];for (int i = 1; i <= b; i++) {ans[i] = n / t[b-i] + (i == 1 ? 1 : 0);n = n % t[b-i];if (n == 0 && i != b) {ans[i]--;n = t[b-i];}}ans[b]--;for (int i = 1; i <= b; i++)printf("%d", ans[i]);if (bit%2 == 0) printf("%d", ans[b]);for (int i = b - 1; i > 0; i--)printf("%d", ans[i]);printf("\n");}int main () {t[0] = 1;for (int i = 1; i <= 9; i++)t[i] = t[i-1] * 10;while (scanf("%d", &n) == 1 && n) {for (int i = 1; i; i++) {int k = t[(i-1)/2] * 9;if (k >= n) {solve (i);break;}n -= k;}}return 0;}
2 0
- uva 12050 - Palindrome Numbers(数论)
- UVA 12050 - Palindrome Numbers(数论+规律)
- uva 12050 - Palindrome Numbers
- UVa:12050 Palindrome Numbers
- UVA - 12050 Palindrome Numbers
- UVA 10042 Smith Numbers 数论
- UVa 136 Ugly Numbers (数论)
- uva 11461 - Square Numbers(数论)
- Dhaka 2003 / UVa 12050 - Palindrome Numbers (回文数)
- Uva 12050 (POJ 2402) - Palindrome Numbers 解题报告(数学)
- UVa 138 Street Numbers(数论&Pell方程)
- UVA 138 - Street Numbers (数论)
- UVA 11461 - Square Numbers(数论)
- UVA 1530 - Floating Point Numbers(数论)
- uva 1530 - Floating Point Numbers(数论)
- UVA 10539 - Almost Prime Numbers(数论)
- UVA 11105 - Semi-prime H-numbers(数论)
- uva 10539 - Almost Prime Numbers(数论)
- stm32时钟分析
- Spring事务管理—aop:pointcut expression解析
- self.location.href的具体用法
- lapack库产生的问题error LNK2001: unresolved external symbol _dgesvd_
- :该如何正确的使用position属性 它的作用是什么?
- uva 12050 - Palindrome Numbers(数论)
- Starteam中使用View Label来自定义版本内容
- BZOJ1296: [SCOI2009]粉刷匠 DP
- boost准模板库date类使用(直接引入方式)
- SYBASE ASE 内存相关学习总结
- 从CMemFile函数学习数据处理
- 第六周
- ubuntu安装SVN并设置开机启动
- 代码面试最常用的10大算法