POJ 1019 数学题
#include <cstdio>
#include <cstring> using namespace std; int sum[];
//sum[i]表示尾数为i的组最大可达到的数字个数
void init()
{
sum[] = ;
sum[] = ;
sum[] = ;
sum[] = ;
sum[] = ;
sum[] = ;
sum[] = ;
} //找到最后对应的组数属于的范围是在多少位的整数上,返回整数的位数
int get_bit(int &n)
{
for(int i = ; i< ; i++){
if(n > sum[i] && n <= sum[i+])
{
n -= sum[i];
return i+;
}
}
return -;
}
//返回g这个组中对应的数字的个数
int get_num_of_group(int g)
{
int t = ;
int k = ;
int ret = ;
while(g >= t){
ret += t/**k;
t *= ;
k++;
}
ret += (g - t/ + ) * k;
return ret;
} int main()
{
int T;
//cout<<get_num_of_group(100)<<endl;
scanf("%d" , &T);
init();
while(T--){
int n;
scanf("%d" , &n);
int group = ;
int cnt = ;
//group表示第几组,cnt表示对应组中含有的数字的个数
while(){
if(n <= cnt) break;
n -= cnt;
group++;
cnt = get_num_of_group(group);
}
//cout<<"group"<<group<<" "<<n<<endl;
int t = get_bit(n);
//cout<<"t " <<t<<endl;
int st;
//st表示从几位数字开始找起,如st = 10,表示最后这个点属于10-99范围
if(t < ) st = , t = ;
else
{
st = ;
for(int i= ; i<=t- ; i++)
st *= ; }
//cout<<"st " <<st<<endl;
while(n > t){
n -= t;
st++;
}
n = t + - n;
int ans = st%;
for(int i= ; i<=n ; i++){
ans = st%;
st /= ;
}
printf("%d\n" , ans);
}
// cout<<9 + 2*90 + 3*900<<endl;
return ;
}
POJ 1019 数学题的更多相关文章
- Poj 1019 Number Sequence( 数据分析和操作)
一.题目大意 有这样一个序列包含S1,S2,S3...SK,每一个Si包括整数1到 i.求在这个序列中给定的整数n为下标的数. 例如,前80位为1121231234123451234561234567 ...
- poj 1019 Number Sequence 【组合数学+数字x的位宽函数】
题目地址:http://poj.org/problem?id=1019 Number Sequence Time Limit: 1000MS Memory Limit: 10000K Total ...
- POJ 1019:Number Sequence 二分查找
Number Sequence Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 36013 Accepted: 10409 ...
- POJ 1019 Number Sequence
找规律,先找属于第几个循环,再找属于第几个数的第几位...... Number Sequence Time Limit: 1000MS Memory Limit: 10000K Total Submi ...
- poj 1019
懂了 题意是给一串 1 12 123 1234 12345 123456 ....这样的数字问第 i个数字是多少 Sample Input 2 8 3 Sample Output 2 2 #inclu ...
- POJ 1019 Number Sequence 解读
这是一个看似简单,其实很难受. 本来我想发挥它的标题轨道基础.没想到反被消遣-_-|||. 看它在个人基础上,良好的数学就干脆点,但由于过于频繁,需求将被纳入全,因此,应该难度4星以上. 方法就是直接 ...
- Number Sequence POJ - 1019 递推 数学
题意 1 12 123 1234 12345 ....这样的序列 问第n位数字是几 是数字! 1-9! 思路:递推关系 主要是位数的计算 用a[i]=a[i-1]+(int)log10((do ...
- POJ - 1019 Number Sequence (思维)
https://vjudge.net/problem/POJ-1019 题意 给一串1 12 123 1234 12345 123456 1234567 12345678 123456789 1234 ...
- Number Sequence(poj 1019)
题意: 有一串数字串,其规律为 1 12 123 1234 12345 123456 1234567 12345678 123456789 12345678910 1234567891011 1234 ...
随机推荐
- 07-11 Linux命令操作
1. 查看当做操作目录位置 > pwd 2. 查看(当前)目录里边的文件内容 > ls //list > ls -l 或ll ...
- 一个简陋的个人小项目,也是个人第一个真正意义上的独立项目——Graph
由来 我最早接触到图这个概念是在大二的离散数学当中图论相关的内容,当时是以著名的哥尼斯堡七桥问题引出图论的概念,现在依然记忆犹新(不过只是记得这个名字,具体的解题思路我重新温习了一下才想起来),当时也 ...
- ATX 学习 (三)-atxserver2-android-provider
服务端代码 代码clone到本地,搭好相应环境(怎么搭的这里就不介绍了,很好搭的哈)一般库首先查看main.py文件,debug模式开始运行 一开始就是没接触过的tornado.ioloop,有点偏底 ...
- Linux安装PHP环境
简介: PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言.语法吸收了C语言.Java和Perl的特点,利于学习,使用广泛,主要 ...
- 二分搜索 HDOJ 2289 Cup
题目传送门 /* 二分搜索:枚举高度,计算体积与给出的比较. */ #include <cstdio> #include <algorithm> #include <cs ...
- ora-20000 unable to analyze
ora-20000 unable to analyze 无法分析表 check: select * from wmsprdata.cmp3$88278表不存在. result:应该是系统自动任务2:0 ...
- C# 代码笔记_文件
string Route = @"D:\ksy\ksy\WebSite1\";//文件地址 string File_name = "user ...
- MFC_2.8 使用状态栏工具栏
使用状态栏工具栏 1.资源-添加-TOOLBAR 画图标.画了一个,第二个会出来. 2.头文件添加成员 CToolBar m_ToolBar; CStatusBar m_StatusBar; 3.初始 ...
- JVM 参数含义
JVM参数的含义 实例见实例分析 参数名称 含义 默认值 -Xms 初始堆大小 物理内存的1/64(<1GB) 默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,J ...
- cstring replace
//使用后将图纸名称存储到配置 换行符用^^替换 m_sTZMC.Replace(_T("\r\n"), _T("^^")); ini.SetValueOfKe ...