首页 > 代码库 > find the nth digit
find the nth digit
find the nth digit |
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) |
Total Submission(s): 880 Accepted Submission(s): 325 |
Problem Description 假设: 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 |
Author 8600 |
Source HDU 2007-Spring Programming Contest - Warm Up (1) |
Recommend 8600 |
/*加到S65536长度就大于2^31了*/#include<bits/stdc++.h>using namespace std;int main(){ //freopen("C:\\Users\\acer\\Desktop\\in.txt","r",stdin); long long n,t; scanf("%lld",&t); while(t--) { scanf("%lld",&n); long long i; long long s=0; for(i=1;s<n;i++) s+=i; long long cur=n-s+i-1; if(cur%9) printf("%d\n",cur%9); else puts("9"); }}
find the nth digit
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。