hdu1597

来源:互联网 发布:php编程 编辑:程序博客网 时间:2024/05/03 09:07
假设: 
S1 = 1 
S2 = 12 
S3 = 123 
S4 = 1234 
......... 
S9 = 123456789 
S10 = 1234567891 
S11 = 12345678912 
............ 
S18 = 123456789123456789 
.................. 
现在我们把所有的串连接起来 
S = 1121231234.......123456789123456789112345678912......... 
那么你能告诉我在S串中的第N个数字是多少吗? 
Input
输入首先是一个数字K,代表有K次询问。 
接下来的K行每行有一个整数N(1 <= N < 2^31)。
Output
对于每个N,输出S中第N个对应的数字. 
Sample Input
61234510
Sample Output
112124
解题思路:
这道题真的爆炸,很简单很简单的暴力。。。开始预处理数组,但是用的是i*(i+1),说是会爆int,但是我开的是long long,还一直wa,当时心态真的爆炸,不知道哪里出问题,就是一直wa,然后基本上就放弃了后面的题目。。。根本不想看。。。
代码:
#include<iostream>using namespace std;int main(){    int t;    cin>>t;    while(t--)    {        int n;        cin>>n;        int a = 1;        while(n>a)        {            n-=a;            a++;        }        n%=9;        if(n==0)        {            cout<<"9"<<endl;            continue;        }        cout<<n<<endl;    }}


原创粉丝点击