题目链接:http://poj.org/problem?id=1019

题目大意:

  题目的意思很清楚了,就是把数字的每一位都当成是单个的字母来对待,然后求第i位的数是哪一个。(1<=i<=2^31-1)

题目分析:

  仔细观察并通过计算可以得知,想要通过穷举的方式用字符串来处理是行不通的,那就只好乖乖得着规律了。

  按照最大数字为1、2、3……的原则进行分组。发现了如下规律:

  一位数:

  1:1;

  12:2;

  ……

  123456789:9;

  两位数:

  12345678910:11;

  1234567891011:13;

  ……

  12345……99:189;

  最后发现到了五位数的某一位(大于31000,小于32000)时,总长度就已经超过2^31-1了。因而,数据并不算大,可以解决。按照上述规律,定义f[i]为i第一次出现的下标。

  那么就卡出i来,然后计算就可以了!

详细就看代码:

 #include<iostream>
#include<cstring>
#include<cstdio>
#include<string>
using namespace std;
#define MAX 2147483647
long long f[];//虽然MAX没有超过int但是所求之数是会超过的 void init()
{
f[]=;
int t=;
for(int i=;i<=;i++)
f[i]=f[i-]+i;
for(int i=;i<;i++)
f[i]=f[i-]+(t+=);
for(int i=;i<;i++)
f[i]=f[i-]+(t+=);
for(int i=;i<;i++)
f[i]=f[i-]+(t+=);
for(int i=;i<;i++)//这个上界很是重要!
f[i]=f[i-]+(t+=);
}
int main()
{
int t,n;
init();
cin>>t;
while(t--)
{
cin>>n;
if(n==)
{
cout<<<<endl;
continue;
}
for(int i=;i<;i++)
if(f[i-]<n&&f[i]>=n)
{
int temp=n-f[i-];//差值
if(temp>)//五位数
{
int t=temp-;
int t2=+(t-)/;
t-=*(t2-);
if(t==)
cout<<t2/<<endl;
if(t==)
cout<<(t2///)%<<endl;
if(t==)
cout<<(t2//)%<<endl;
if(t==)
cout<<(t2/)%<<endl;
if(t==)
cout<<t2%<<endl;
}else
if(temp>)//四位数
{
int t=temp-;
int t2=+(t-)/;
t-=*(t2-);
if(t==)
cout<<t2/<<endl;
if(t==)
cout<<(t2//)%<<endl;
if(t==)
cout<<(t2/)%<<endl;
if(t==)
cout<<t2%<<endl; }else
if(temp>)//三位数
{
int t=temp-;
int t2=+(t-)/;
t-=*(t2-);
//cout<<"t2="<<t2<<" t="<<t<<endl;
if(t==)
cout<<t2/<<endl;
if(t==)
cout<<(t2/)%<<endl;
if(t==)
cout<<t2%<<endl; }else
if(temp>)//二位数
{
int t=temp-;
int t2=+(t-)/;
t-=*(t2-);
if(t==)
cout<<t2/<<endl;
if(t==)
cout<<t2%<<endl;
}else
if(temp>)//一位数
cout<<temp<<endl;
break;
}
}
return ;
}

POJ1019

  

POJ1019-Number Sequence数学的更多相关文章

  1. POJ1019——Number Sequence(大数处理)

    Number Sequence DescriptionA single positive integer i is given. Write a program to find the digit l ...

  2. uva 10706 Number Sequence(数学规律)

    题目连接:10706 - Number Sequence 题目大意:有一个有0 ~ 9组成的序列,1   1 2    1 2 3   1 2 3 4   1 2 3 4 5 ....就是第一位为1. ...

  3. POJ1019 Number Sequence

    Number Sequence Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 36256   Accepted: 10461 ...

  4. 1005:Number Sequence(hdu,数学规律题)

    Problem Description A number sequence is defined as follows: f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1 ...

  5. 数学: HDU1005 Number Sequence

    Number Sequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  6. 杭电ACM刷题(2):1005,Number Sequence 标签: 杭电acmC语言 2017-05-11 22:43 116人阅读

    Problem Description A number sequence is defined as follows: f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1 ...

  7. HDU 1005 Number Sequence

    Number Sequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  8. POJ 1019 Number Sequence

    找规律,先找属于第几个循环,再找属于第几个数的第几位...... Number Sequence Time Limit: 1000MS Memory Limit: 10000K Total Submi ...

  9. HDOJ 1711 Number Sequence

    Number Sequence Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  10. Number Sequence

    Number Sequence   A number sequence is defined as follows: f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) ...

随机推荐

  1. iOS开发之instancetype

    instancetype和id使用方法类似,但他们还有不同点: (1)instancetype在类型表示上,跟id一样,可以表示任何对象类型 (2)instancetype只能用在返回值类型上,不能像 ...

  2. pg_config executable not found

    Error: pg_config executable not found. Please add the directory containing pg_config to the PATH or ...

  3. Nginx+Tomcat动静分离脚本

    #!/bin/bashsetenforce 0systemctl stop firewalldtar -zxvf nginx-1.8.0.tar.gz -C /usr/src/ cd /usr/src ...

  4. P2物理引擎中文文档

    P2物理引擎中文文档地址:https://github.com/schteppe/p2.js/wiki/Chinese-wiki-%E4%B8%AD%E6%96%87%E7%BB%B4%E5%9F%B ...

  5. C#调用webbrowser,阻止弹出新IE窗口

    本人是用WPF内嵌 winform的webbrowser这种形式开发, 弹出的 //屏蔽弹出新IE窗口 private void webBrowser_NewWindow(object sender, ...

  6. 老李分享:大数据框架Hadoop和Spark的异同 1

    老李分享:大数据框架Hadoop和Spark的异同   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨 ...

  7. AngularJS1.X学习笔记6-控制器和作用域

    经过一番艰苦卓绝的鏖战,我终于来到了控制器和作用域部分.控制器作为MVC的C,其重要性不可谓不重要:作用域决定了你可以拿到哪些东西,亦是分外重要.现在就来学习一下两个东西.去看看$apply,$wat ...

  8. Hibernate(二)之Hibernate-api详解

    一.Hibernate体系结构 二.Hibernate-api详解 2.1.Configuration配置对象 Configuration是用来加载配置文件的 我们Hibernate中主要有两个配置文 ...

  9. E/MediaPlayer: Should have subtitle controller already set

    原文链接:http://stackoverflow.com/questions/20087804/should-have-subtitle-controller-already-set-mediapl ...

  10. jQuery基础学习(二)—jQuery选择器

    一.jQuery基本选择器 1.CSS选择器     在学习jQuery选择器之前,先介绍一下之前学过的CSS选择器. 选择器 语法 描述 示例   标签选择器 E {                 ...