2013寒假练习 1009:Number Sequence

来源:互联网 发布:个人记账软件 pc 编辑:程序博客网 时间:2024/06/09 15:55

地址:http://acm.bit.edu.cn/mod/programming/view.php?id=660

水题。练c语言用=w=。

#include<iostream>#include<cmath>using namespace std;int main(){int t,n,i;scanf("%d",&t);while(t--){int now=0,zen=1; //now现在一次序列长度  zen增量scanf("%d",&n);for(i=1;;i++,n-=now)             //定位处于第几次序列{now+=zen;if(i==9||i==99||i==999||i==9999||i==99999||i==999999) zen++;if(n<=now) break;}for(i=1,zen=1;;i++)              //定位处于第几个数{if(n<=zen) break;else n-=zen;if(i==9||i==99||i==999||i==9999||i==99999||i==999999) zen++;}n=floor(log10((double)i))-n+1;           //找出i的第n位while(n--) i/=10;printf("%d\n",i%10);}return 0;}