#include <stdio.h>
#include <string.h>
int main()
{
int n=0;
scanf("%d",&n);
char num1[2000]="";
char num2[1000]={0};
for(int i=1;strlen(num1)<n;i++)
{
sprintf(num2,"%d",i);
strcat(num1,num2);
}
printf("%c",num1[n-1]);
return 0;
} #include <stdio.h>
int main() {
int n=0;
scanf("%d",&n);
if(n<=9)
{
printf("%d",n);
}
else if(n<=189) //在两位区间
{
int pos=n-9;
int num=10+(pos-1)/2; //数字的序号
int ret=(pos-1)%2; //在一个数字中的位置,为0就是最高位,1第二位
if(ret==0)
printf("%d",num/10);
else
printf("%d",num%10);
}
else { //在三位区间
int pos=n-189;
int num=100+(pos-1)/3;
int ret=(pos-1)%3;
if(ret==0)
printf("%d",num/100);
else if(ret==1)
printf("%d",num/10%10);
else
printf("%d",num%10);
}
return 0;
}