//S = 1121231234.......123456789123456789112345678912.........
//对于任意的数 N,
//先确定其区间 si - si+1
//确定其区间后
//再确定 在si中第几个 1234456789 ,
//然后再确定第几位数
#include <iostream> #include <math.h> using namespace std; #define sum(n) ((n&1)?(n*(n+1)/2):(n/2*(n+1))) __int64 n; __int64 result; void get_digit() { //首先获得区间 __int64 low = (__int64)sqrt((double)n*2.0); __int64 first; for(__int64 i = low ; ;i++) { if(sum(i) >= n ) { first = i; break; } } __int64 second = n - sum((first -1)); result = second%9?second%9:9; } int main() { __int64 k; cin >> k; { while(k--) { cin >> n ; get_digit(); cout << result <<endl; } } return 0; }