数字以“01234567891011121314151617181920……”的格式格式序列化到一个字符序列中,求任意第n位的对应数字
方法一:遍历到n
方法二:寻找数的规律 1-9 19个 10-99 2910个 100-999 3100*9 ……
int findnumed(int n) { if(n<0) return -1; int digits=1; while(true) { int number=10; if(digits==1) number=10; else number=9*(int) (Math.pow(10, digits-1)); if(n<number*digits) { int <u>t</u>=0; if(digits!=1) t=(int) (Math.pow(10, digits-1)); int k=n/digits; int x=digits-n%digits; for(int i=1;i<x;i++) k/=10; return k%10; } n-=digits*number; digits++; } }