首先需要确定这个数字是谁
最重要的一点是 将第几个转换成index
就是index = n-1
这个很重,对于后面的取余运算

using ll = long long;

class Solution {
public:

int findNthDigit(int n) {

ll base = 0;
ll s = 0;
while(1){
ll t = pow(10,base+1)-pow(10,base);
if(s + t*(base+1)<n){
s += t*(base+1);
++base;
}else{
break;
}
}

int beg = pow(10,base);
--n;
int wei = base+1;
int num = beg + (n-s)/wei;

int d = ((n-s)%wei);

char a[12];
snprintf(a,20,"%d",num);
return a[d]-'0';
}
};