/*==========================================================*\
| 11212312341234512345612345671234567812345678912345678910
| 求第n个数字。
| 首先求出在那一组,其中[1],[12][123]等是一组
| 然后求出在哪一个数,最后确定哪一位
\*==========================================================*/
int main()
{
int t;
scanf("%d", &t);
while (t--) {
int n;
scanf("%d", &n);
int i = 1, j = 1, k;
while (n > i) {//找出在哪一组
n -= i;
++j;
int tmp = j;
//i = 0;这句没有,很重要
while (tmp) {
tmp /= 10;
++i;
}
}
i = j = 1;
while (n > i) {//找出在哪一个
n -= i;
++j;
int tmp = j;
i = 0;
while (tmp) {
tmp /= 10;
++i;
}
}
for (k = 0; k < i - n; ++k)//找出在哪一位
j /= 10;
printf("%d\n", j % 10);
}
return 0;
}
POJ-1019(变繁琐打表为简单循环)(Number Sequence)
最新推荐文章于 2019-09-23 14:53:15 发布