p1019.cpp
来自「大概POJ上50道比较难的题的代码」· C++ 代码 · 共 33 行
CPP
33 行
#include <iostream>
using namespace std;
int main(){
int N;
long long n;
cin >> N;
while(N--){
long long s(0),t(0),dig(1),pow(1);
cin >> n;
for(int i = 1;s < n;++i){
if(pow * 10 == i){
pow *= 10;
++dig;
}
t += dig;
s += t;
}
n -= s - t;
int b(9),i(1);
if(n / 10 == 0){
cout << n << endl;
continue;
}
for(;n > i*b;++i){
n -= i * b;
b *= 10;
}
int ans = (n-1)/i + b/9;
for(int k = 0;k < i-(n-1)%i-1;++k) ans /= 10;
cout << ans % 10 << endl;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?