Skip to content

Commit 4edb308

Browse files
author
cpppy
authored
Create 400_Nth_Digit.cc
1 parent fe57a2d commit 4edb308

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

400_Nth_Digit.cc

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
class Solution {
2+
public:
3+
int findNthDigit(int n) {
4+
int i=1;
5+
int sum=0;
6+
while(sum<n) {
7+
sum += 9*pow(10,i-1)*i;
8+
i++;
9+
}
10+
i--;
11+
sum -= 9*pow(10,i-1)*i;
12+
int prei=i-1;
13+
int prenum=0;
14+
while(prei>0){
15+
prenum = prenum*10+9;
16+
prei--;
17+
}
18+
int num=prenum+(n-sum+i-1)/i;
19+
int y=(n-sum)%i;
20+
if(y==0) y=i;
21+
int num2=num/pow(10,i-y);
22+
return num2%10;
23+
}
24+
};

0 commit comments

Comments
 (0)