#include <stdio.h>
int main() {
int n;
scanf("%d",&n);
int weishu=1;
long min = 1;
long count =9;
long long length=weishu*count;
while(n>length){
n-=length;
weishu++;
count*=10;
min*=10;
length=weishu*count;
}
long long target_num=min+(n-1)/weishu;
long long index=(n-1)%weishu;
char num [20]; // 足够大,long long 最大约19位
sprintf(num, "%lld", target_num);
printf("%c",num [index]);
return 0;
}

京公网安备 11010502036488号