POJ 1019 Number Sequence(枚举)
来源:互联网 发布:56网络视频下载器 编辑:程序博客网 时间:2024/06/05 06:08
log10(n)+1可以得到数n的长度
Len[n]表示1到n这一段的总长度
s[n]表示第一段到第n段的总长度
先确定第n位在哪段中,然后从1开始枚举确定第n位在哪个数中。设k是这个数最后一位的位置,这个数为num,则第n位的数是num/pow(10,k-n)%10 (掐头去尾)
代码:
//// main.cpp// 1019 Number Sequence//// Created by Baoli1100 on 15/3/31.// Copyright (c) 2015年 Baoli1100. All rights reserved.//#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;#define LL long longLL s[50005];LL Len[50005];#include <cmath>int main(){ Len[1]=1; for(int i=2;i<=50000;i++){ Len[i]=Len[i-1]+log10(i*1.0)+1; } s[1]=1; for(int i=2;i<=50000;i++){ s[i]=s[i-1]+Len[i]; } LL n; int T; scanf("%d",&T); while(T--){ scanf("%lld",&n); int i; for(i=1;s[i]<n;i++); i--; n-=s[i]; int pos; int k=0; for(pos=1;n>k;pos++){ k+=(log10(pos*1.0)+1); } pos--; int res; res=pos/(int)pow(10*1.0,(k-n)*1.0); res%=10; printf("%d\n",res); } return 0;}
0 0
- POJ 1019 Number Sequence(枚举)
- POJ 1019 Number Sequence
- POJ 1019 Number Sequence
- poj 1019 Number Sequence
- poj 1019 Number Sequence
- POJ 1019 Number Sequence
- poj 1019 Number Sequence
- POJ-1019 Number Sequence
- POJ 1019 Number Sequence
- poj 1019 Number Sequence
- poj 1019 Number Sequence
- POJ 1019 Number Sequence
- poj 1019 Number Sequence
- POJ 1019 Number Sequence
- POJ 1019 Number Sequence
- poj 1019 Number Sequence
- POJ 1019 Number Sequence
- poj 1019 Number Sequence
- [NOI2010]能量采集(数论+递推)
- CentOS 查看IP,端口 修改IP,打开端口生效
- How Tomcat Works读书笔记2
- Java基础——流
- JAVA Socket超时浅析
- POJ 1019 Number Sequence(枚举)
- 织梦dedecms如何去除版权中的Power by DedeCms
- Android系统的系列书籍
- 静态库
- B-Human各组件解释
- ACM-最长公共子序列
- BigDecimal类
- <简约至上>感触
- 开发一个软件平台的一些心得体会