poj 1019
来源:互联网 发布:传智播客软件测试 编辑:程序博客网 时间:2024/05/12 15:56
参照http://www.slyar.com/blog/poj-1019-cpp.html
题目大意:就是求一个数字序列的第n位的数字是多少。这个序列a1a2a3.....an
a1=1, a2=12, a3=123, ......an=1234567891011......n
len[i]表示1----i的长度
s[i]表示a1a2a3...ai的长度
log10(i) + 1表示i的位数
len[i] = le[i-1] + log10(i) + 1
s[i] = s[i-1] + len[i]
输入的n先求出在第k段的第几个数n - s[i-1],然后再求出n是这个数的第几位
#include <iostream>#include <cstdio>#include <cmath>using namespace std;const int maxn = 31270;int t, n;unsigned len[maxn], s[maxn];void preprocess();int main(){ int i, pos, length, val; len[1] = 1; s[1] = 1; for(i = 2; i < maxn; i++) { len[i] = len[i-1] + (unsigned int) log10((double)i) + 1; s[i] = s[i-1] + len[i]; } scanf("%d", &t); while(t-- != 0) { length = 0; scanf("%d", &n); for(i = 1; s[i] < n; i++); pos = n - s[i-1]; i = 1; while(length < pos) { length += (int)log10((double)i) + 1; i++; } val = ((i - 1) / (int) pow((double)10, length - pos)) % 10; printf("%d\n", val); } return 0;}
- poj 1019
- POJ-1019
- POJ 1019
- POJ 1019
- POJ 1019
- poj 1019
- POJ 1019
- poj 1019
- POJ 1019
- poj 1019
- poj-1019
- poj 1019
- poj 1019
- poj-1019
- poj 1019
- POJ 1019 Number Sequence
- POJ 1019 Number Sequence
- poj 1019 Number Sequence
- 经典的题目
- java serializable深入了解
- javascript 猜数字游戏程序
- 容器存放指针造成的内存泄露问题
- 38头牛中选出3头跑得最快的,使用一个每次只能供6头比赛的场地,要求用最快的方法。(整理)
- poj 1019
- javascript编写的购物网站的商品图片放大程序
- autorelease对象的释放
- windows操作系统放哪儿?哪儿就死掉!
- apache下htaccess不起作用,linux,windows详解
- 学习
- 解决Hessian不能正确传输BigDecimal问题
- Linux设备模型
- SRM534-div1-3-EllysString