import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int count = sc.nextInt();
for (int i = 0; i < count; i++)
{
int input = sc.nextInt();
long sum = 0;
int index = 0;
long temp = 0;
while (sum < input)
{
temp = total(++index);
sum += temp;
}
System.out.println(caculate(input - sum + temp));
}
}
static long caculate(long index)
{
int i = 0;
long sum = 0;
long temp = 0;
while (sum < index)
{
temp = (long) (9 * Math.pow(10, i) * (i + 1));
sum += temp;
i++;
}
long a = (index - sum + temp) % i;
long b = (index - sum + temp) / i;
long tt = b + (long) Math.pow(10, i - 1);
if (a == 0)
return (tt - 1) % 10;
else
return (tt + "").charAt((int) a - 1) - '0';
}
static long total(long n)
{
int d = digits(n);
if (d == 1)
return n;
else
{
long nine = (int) Math.pow(10, d - 1) - 1;
return (n - nine) * d + total(nine);
}
}
static int digits(long n)
{
if (n == 0)
return 1;
int r = 0;
while (n != 0)
{
r++;
n /= 10;
}
return r;
}
}
ZOJ-1410
最新推荐文章于 2018-01-05 09:41:27 发布