标签:
Time Limit: 1000MS | Memory Limit: 10000K | |
Total Submissions: 35251 | Accepted: 10151 |
Description
Input
Output
Sample Input
2 8 3
Sample Output
2 2
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> #define N 32000 using namespace std; int main() { int a[9]= {0,9,180,2700,36000,450000,5400000,63000000,720000000}; long long b[N]= {0},n,sum=0; int i,T,m,j,l,A,B; for(i=1; i<N; i++) { if(i<=9) b[i]=i; else { m=0; l=(int)log10(i)+1; for(j=1; j<l; j++) { m=m*10+9; } b[i]=(i-m)*l+b[m]; } // sum+=b[i]; } // printf("%lld\n",sum);确定b数组的范围,即N的大小; scanf("%d",&T); while(T--) { scanf("%lld",&n); for(i=1;i<N;i++) { if(n>b[i]) { n-=b[i]; } else { break; } } for(i=1;i<8;i++) { if(n>a[i]) n-=a[i]; else break; } A=n/i; B=n%i; if(B!=0) A+=1; else B=i; m=0; for(j=1;j<i;j++) m=m*10+9; A=A+m; char str[10]= ""; sprintf(str,"%d",A); printf("%c\n",str[B-1]); } return 0; }
标签:
原文地址:http://www.cnblogs.com/zhengguiping--9876/p/4462542.html