您的位置:首页 > 其它

数字序列中的某一位的数字

2018-01-10 16:28 155 查看
public class Problem44 {
public int nNumber(int n){
if(n<0)
return -1;
if(n==0)
return 0;
int sum = 1;
int beforeSum=1;
int len = 1;
while(sum<n){
beforeSum = sum;
sum += 9*Math.pow(10, len-1)*len;
//System.out.println("len="+len+",sum="+sum);
len++;
}
//System.out.println("sum="+sum);
//System.out.println("n-beforeSum="+(n-beforeSum));
int res = (n-beforeSum)/(len-1);
//System.out.println("res="+res);
int left = (n-beforeSum)%(len-1);
int number = (int) (Math.pow(10, len-1)+res);
while(left!=0){
number/=10;
left--;
}
return number%10;

}
public static void main(String[] args) {
Problem44 p = new Problem44();
int res = p.nNumber(0);
System.out.println(res);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: