Lang:GCC
Edit12345678910111213141516171819202122232425262728293031#include <stdio.h>#include <math.h>int main(void){unsigned long long int y,l,k,a=9,n,s=0,d=0,c,q;int j,i,t;scanf("%llu",&n);if (n==0) printf("0");else{for (i=1;;i++){ s+=a*i;if (n<=s)break;a*=10;}s=s-a*i+1;l=n-s;k=l/i;y=l%i;for (d=1,t=1;t<=i-1;t++)d*=10;//d+=(int)pow(10,i-1);d=d+k;for (t=1,q=1;t<=i-y-1;t++)q*=10;c=d/q%10;//c=d/((int)pow(10,i-y-1))%10;printf("%llu",c);}return 0;