您的位置:首页 > 其它

第K回文数

2015-07-18 10:21 288 查看
Description

回文数是这样一个正整数:它从左往右读和从右往左读是一样的。例如1,111,121,505都是回文数。将1到100,000,000内所有回文数按从小到达排序后,第k个回文数是多少呢?

Input

第一行为一个整数N,表示询问的次数。以下N行每行一个整数k,表示询问第k个回文数是多少。

Output

输出共N行,按照输入数据的顺序,依次输出第k个回文数。

Sample Input

2

5

10

Sample Output

5

11

#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int a[11]={0,9,18,108,198,1098,1998,10998,19998,109998,199998};
int main()
{
int m,i,w,n,j,count;
char b[11];
scanf("%d",&count);
while(count--)
{
scanf("%d",&m);
for(i=0;i<11;i++)
if(m>a[i]&&m<=a[i+1]){w=i+1;break;}
m=m-a[w-1];
j=(w+1)/2;
n=pow(10,j-1)+m-1;
itoa(n,b,10);
for(;j<w;j++)b[j]=b[w-j-1];
b[w]=0;
puts(b);}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: