ACM 1410 . 求算法
http://acm.zju.edu.cn/show_problem.php?pid=1410
---------------------------------------------
#include "stdio.h"
#include "string.h"
#include "stdlib.h"
#include "math.h"
int main()
{
char arry[200000];
char temp[100];
int step[50000];
int n,i;
int cur,p;
unsigned int len,sum=0;
arry[0]=0; i=1; len=0;
while(sum<=2147483647)
{
sprintf(temp,"%d",i);
len=len+strlen(temp);
step[i]=len;
sum+=len;
strcat(arry,temp);
i++;
}
scanf("%d",&n);
while(n--)
{
scanf("%d",&i);
cur=0;
p=i;
while(p>0)
{
cur++;
p=p-step[cur];
}
p=p+step[cur]-1;
printf("%c",arry[p]);
}
return 0;
}