Number Sequence (排列组合)
来源:互联网 发布:软件系统验收规范 编辑:程序博客网 时间:2024/06/05 13:32
大致题意:
有一串数字串,其规律为
1 12 123 1234 12345 123456 1234567 12345678 123456789 12345678910 1234567891011 123456789101112······k
输入位置n,计算这一串数字第n位是什么数字,注意是数字,不是数!例如12345678910的第10位是1,而不是10,第11位是0,也不是10。总之多位的数在序列中要被拆分为几位数字,一个数字对应一位。
#include <iostream>#include<cstring>#include<cstdio>#include<algorithm>#include<cmath>using namespace std;const int maxn=32000;long long a[maxn],s[maxn];int main(){ a[1]=s[1]=1; for(int i=2;i<maxn;i++) { a[i]=a[i-1]+(int)log10((double)i)+1;//a为第i个数组的长度 s[i]=s[i-1]+a[i];//s是前i个数组的长度 } int n,t; scanf("%d",&t); while(t--) { scanf("%d",&n); int i=1; while(s[i]<n)//确定n的位置出现在第i组 i++; int pos=n-s[i-1];//pos为n在第i组的位置 int len=0; for(i=1;len<pos;i++) len+=(int)log10((double)i)+1;//从第1组开始遍历第i前的每一个组,利用log10(i)+1递推第i组的长度 printf("%d\n",(i-1)/(int)pow((double)10,len-pos)%10); }}
0 0
- Number Sequence (排列组合)
- 排列组合:poj 1019 Number Sequence
- LeetCode OJ 之 Permutation Sequence (排列组合)
- (hdu1005)Number Sequence
- Number Sequence(HDU1005)
- Number Sequence(1005)
- Number Sequence(hdu4390)
- Number Sequence(规律)
- Number Sequence(KMP)
- Number Sequence(hdoj1005)
- (ACM)Number Sequence
- hdu Number Sequence(KMP)
- hdu 1711 (Number Sequence)
- hdu1711 Number Sequence(KMP)
- HDOJ Number Sequence(java)
- UVA Number Sequence(规律)
- Number Sequence(kmp模板)
- HDU_1711 Number Sequence(KMP)
- 289_自定义小进度条
- 一起来学activeMQ 5.pub/sub ,non-persistent/persistent,queue
- 确定字符互异
- 解决:Error:Connection timed out: connect. If you are behind an HTTP proxy, please configure the proxy
- 使用npm发布自己的包到npm官网上
- Number Sequence (排列组合)
- 290_自定义View固定大小
- Coding+Hexo搭建个人静态博客
- PHP变量赋值
- Android EditText总结
- 随机访问介质控制协议
- javascript中this关键字---总结2
- 搞清字库表、编码字符集、字符编码
- 291_自定义可点击表格