poj1019 Number Squence
来源:互联网 发布:阿里妈妈淘宝联盟佣金 编辑:程序博客网 时间:2024/06/05 10:42
题意:
一直一个有序数组,给定一个数字n代表已知数组的第n个数,求该书是几。
分析:
1,根据数组规律对其分组:1 12 123 1234 12345......
2,首先求n在第几组中,再求n在其分组的第几个数中同时我们也可求得是该书的第几位。
3,我们分得的数组中数字依次变大,位数越来越多,但我们是要按照每一个数字来计算位置信息。比如:123(一百二十三)是三个数,所 以们就用到log10求得其位数。
#include<iostream>#include<cmath>using namespace std;#define size 31269unsigned a[size],s[size];void play_table(){int i;a[1]=s[1]=1;for(i=2;i<size;i++){a[i]=a[i-1]+(int)log10((double)i)+1;//a[i]是第i组最大数的位数。s[i]=s[i-1]+a[i];//s[i]是第i组的长度。}}int main(){play_table();int t,n,i,pos,len;cin>>t;while(t--){i=1;len=0;cin>>n;while(n>s[i]){ i++;}//求的n在第几组中。pos=n-s[i-1];//n在其所在组中的位置。for(i=1;len<pos;i++)len+=(int)log10((double)i)+1;//求得n在第几个数的第几位。cout<<(i-1)/(int)pow((double)10,len-pos)<<endl;}return 0;}
- poj1019 Number Squence
- poj 1019 Number Squence
- HDU 5014(Number Squence)
- poj1019--Number Sequence题解
- POJ1019-Number Sequence
- POJ1019:Number Sequence
- POJ1019-Number Sequence
- POJ1019-Number Sequence
- POJ1019--Number Sequence
- poj1019 Number Sequence
- poj1019 Number Sequence
- poj1019 Number Sequence
- poj1019 Number Sequence
- POJ1019-Number Sequence
- POJ1019:Number Sequence
- 【poj1019】 Number Sequence
- poj1019 Number Sequence
- poj1019 递推 number sequence
- Spring3整合Struts2
- C++构造函数和析构函数
- 利用dispatch_once创建单例
- 实现接口的枚举类 学习笔记(一)
- 如何new与delete各种二维数组
- poj1019 Number Squence
- 使用 /sys 文件系统访问 Linux 内核
- java基础之基本算法
- python给文件写入/追加内容时输出x00和乱码的问题
- GitHub Android 开源项目汇总
- HDOJ 1010 解题
- [剑指offer][面试题37]两个链表的第一个公共节点
- UIWebView 点击获得坐标
- Android MotionEvent 坐标获取