码迷,mamicode.com
首页 > 其他好文 > 详细

数论 UVAlive 2889

时间:2015-01-20 20:20:38      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:

这是一道考察回文数的题目,要求你输出第k个回文数。在做题的过程中,可以发现回文数的分布的规律:一位数:9个,二位数:9个,三位数:90个,四位数:90个,五位数:900个,六位数:900个……。

#include<iostream>
#include<cmath>
#include<cstring>
#include<cstdio>
int main()
{
int n;
while(scanf("%d",&n)&&n)
{
long long x=0;
while(n>x*2)
x=x*10+9;
if(n>x+x/10)
{
n-=x;
printf("%d",n);
while(n>0)
{
printf("%d",n%10);
n/=10;
}
}
else
{
n-=x/10;
printf("%d",n);
n/=10;
while(n>0)
{
printf("%d",n%10);
n/=10;
}
}
printf("\n");
}
return 0;
}

数论 UVAlive 2889

标签:

原文地址:http://www.cnblogs.com/hbutACMER/p/4237118.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!