首页 > 其他 > 详细

数论 UVAlive 2889

时间:2015-01-20 20:18:10      阅读:311      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!