📄 10.txt
字号:
#include <stdio.h>
int main()
{
int shuzu[ 6 ];
shuzu[ 0 ] = 0, shuzu[ 1 ] = 45, shuzu[ 2 ] = 9000;
shuzu[ 3 ] = 1386450, shuzu[ 4 ] = 188019000; shuzu[ 5 ] = 4294967295;
int shuzu2[ 6 ];
shuzu2[ 0 ] = 0, shuzu2[ 1 ] = 1, shuzu2[ 2 ] = 11;
shuzu2[ 3 ] = 192, shuzu2[ 4 ] = 2893, shuzu2[ 5 ] = 38894;
int n;
scanf( "%d", &n );
for ( int i = 0; i < n; i++ )
{
int m;
scanf( "%d", &m );
if ( m == 1 )
{
printf( "%d\n", 1 );
continue;
}
int fix = 0;
for ( int j = 0; j < 5; j++ )
{
m -= shuzu[ j ];
if ( m <= shuzu[ j + 1 ] )
{
fix = j;
break;
}
}
if ( m == shuzu[ fix + 1 ] )
{
printf( "%d\n", 9 );
continue;
}
fix++;
int temp = shuzu2[ fix ];
while ( m > temp )
{
m -= temp;
temp += fix;
}
for ( int j = 1; ; j++ )
{
temp = m;
fix = j;
if ( j <= 9 )
m -= 1;
else if ( j <= 99 )
m -= 2;
else if ( j <= 999 )
m -= 3;
else if ( j <= 9999 )
m -= 4;
else if ( j <= 99999 )
m -= 5;
if ( m <= 0 )
break;
}
m = temp;
temp = 100000;
while ( fix / temp == 0 )
temp /= 10;
temp *= 10;
for ( int j = 1; j <= m; j++ )
{
fix = fix % temp;
temp /= 10;
}
printf( "%d\n", fix / temp );
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -