Problem Description
假设:
S1 = 1
S2 = 12
S3 = 123
S4 = 1234
.........
S9 = 123456789
S10 = 1234567891
S11 = 12345678912
............
S18 = 123456789123456789
..................
现在我们把所有的串连接起来
S = 1121231234.......123456789123456789112345678912.........
那么你能告诉我在S串中的第N个数字是多少吗?
 
Input
输入首先是一个数字K,代表有K次询问。
接下来的K行每行有一个整数N(1 <= N < 2^31)。
 
Output
对于每个N,输出S中第N个对应的数字.
 
Sample Input
6 1 2 3 4 5 10
 
Sample Output
1 1 2 1 2 4
#include <stdio.h>__int64 n,num[70000];
__int32 w;void Bi_serch(int low, int high){int mid;while(low<= high){//mid=(low+high)/2;mid=low+((high-low)>>1);if(num[mid]<n && num[mid+1]>=n){ w=mid; return ;}else if(num[mid+1]<n)low=mid+1;else if(num[mid]>=n)high=mid-1;}
}int main(){int t;for(int i=1;i<=65540;++i)num[i]=num[i-1]+i;//printf("%lld\n",num[65540]);scanf("%d",&t);while(t--){w=-1;scanf("%d",&n);Bi_serch(1,65540);int a=n-num[w];a=a%9;if(a==0)    a=9;printf("%d\n",a);}
return 0;
}  

这道题由于数据比较大,所以应该是先算出二的31次方是在连接后的第几个S中出现,然后根据结果定义数组变量大小,由于要查找的数一定存在而且数据有序,可以考虑用二分查找,然后就So easy 了。

杭电1597_find the nth digit相关推荐

  1. 杭电1597 find the nth digit

    find the nth digit Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  2. 杭电OJ分类题目(2)

    原题出处:HDOJ Problem Index by Type,http://acm.hdu.edu.cn/typeclass.php 杭电OJ分类题目(2) HDU Water~~~ HDU 100 ...

  3. hdoj杭电问题分类

    杭电上的题虽然多,但是一直苦于找不到问题分类,网页都是英文的,所以平时做题也没怎么看,今天仔细一看,问题分类竟然就在主页....做了那么久的题居然没发现,表示已经狗带..不要笑,不知道有没有像我一样傻 ...

  4. 杭电OJ分类题目(3)

    原题出处:HDOJ Problem Index by Type,http://acm.hdu.edu.cn/typeclass.php 杭电OJ分类题目(3) HDU Computational Ge ...

  5. 杭电OJ分类题目(1)

    原题出处:HDOJ Problem Index by Type,http://acm.hdu.edu.cn/typeclass.php 杭电OJ分类题目(1) HDU Introduction HDU ...

  6. 【杭电ACM】1097 A hard puzzle

    [杭电ACM]1097  A hard puzzle http://acm.hdu.edu.cn/showproblem.php?pid=1097 先用int手写了算法结果竟然wrong answer ...

  7. 【ACM】杭电OJ 1106 函数atoi

    函数atoi是把字符串转化成整数的函数,头文件为 #include "stdlib.h" e.g. 运行环境:Dev-C++ 5.11 杭电1106 调用了sort函数,运行的时间 ...

  8. 【ACM】杭电OJ 2037

    题目链接:杭电OJ 2037 先把b[i]进行排序,然后,b[i]与a[i+1]进行比较. #include <iostream> #include <cstdio> #inc ...

  9. 【ACM】杭电OJ 2020(排序)

    题目链接:杭电OJ 2020 排序可以有冒泡排序,选择排序,或者直接调用函数. 下面是选择排序: #include <stdio.h> #include <math.h> in ...

最新文章

  1. 在Ubuntu 14.04 64bit上安装字体管理器font-manager
  2. 404未找到是什么意思_为什么老遇上404 not found?你懂的
  3. 计算机的图形渲染机制
  4. mustache模板技术
  5. linux 设置系统时间
  6. Java中导入错误的jar所引发的问题
  7. OpenTelemetry 简析
  8. linux环境编程 学习,学习linux环境高级编程首先学习的是文件的操作。因为有.pdf...
  9. 通过点击事件监听 setOnClickListener 彻底理解回调-Android
  10. linux:vi 替换命令
  11. IT信息业、金融业从业人员悲歌
  12. KVM Virtio: An I/O virtualization framework for Linux(Linux虚拟IO框架)
  13. html追加到末尾,css – wkhtmltopdf – 将内容添加到最后一页的底部
  14. 如何查看mysql的sql语句索引_mysql 查看sql语句索引情况 详解explain
  15. 基于PC的机器视觉系统设计
  16. ThreadPoolExecutor(四)——Interrupt
  17. 期权都是废纸?——创业公司的期权、股票与回报
  18. python俄罗斯方块小游戏实验报告,童年的记忆——如何用python写一个俄罗斯方块小游戏!...
  19. java赋值运算的类型转换出新的问题_Java中byte、short、char、int、long运算时自动类型转化问题...
  20. 软件评估报告和软件可行性分析文档搜集

热门文章

  1. 深度案例 | 3 大领域 7 大场景,消费金融中的行业数据实践(以合众投资集团为例)...
  2. 你会怎样衡量你的产品? —— 一点产品数据分析的经验分享
  3. [Bzoj4289]PA2012 Tax(Dijkstra+技巧建图)
  4. 图文具体解释 IntelliJ IDEA 15 创建 Maven 构建的 Java Web 项目(使用 Jetty 容器)
  5. BZOJ - 3578: GTY的人类基因组计划2
  6. [并发编程]并发编程第二篇:利用并发编程,实现计算大量数据的和
  7. sort和uniq命令
  8. 微信url schema,deep link
  9. W5100使用中的常见问题
  10. 游戏开发--开源软件11--Firefly(python 服务端分布式框架)||pygame