题干:

【题意】
给你一个数组n(1<=n<=1e5)
让你输出有多少数的阶乘后恰好有n个0,并依次输出。
【类型】
二分or暴力
【分析】
肯定满足,数字越大,其后的0的个数也就越多。
于是我们可以二分出最小的l,使得fac[l]>=n
同时我们二分出最大的r,使得fac[r]<=n
然后答案就是区间段[l,r]
而算fac[l]有多少个0,就是查看fac[l]中有多少个5
因为n不大,所以另外一种做法是暴力。
我们直接求出fac[i]的末尾有多少个0即可
【时间复杂度&&优化】
O(log(n)log(n)) or O(nlogn)

解题报告:

AC代码:

#include<stdio.h>
#include<iostream>
#include<string.h>
#include<string>
#include<ctype.h>
#include<math.h>
#include<set>
#include<map>
#include<vector>
#include<queue>
#include<bitset>
#include<algorithm>
#include<time.h>
const int N = 0, M = 0, Z = 1e9 + 7, ms63 = 0x3f3f3f3f;
int n;
int main() {while (~scanf("%d", &n)) {int l = 0;int r = 1e9;while (l < r) {int m = (l + r) >> 1;int five = 0;int tmp = m;while (tmp) {tmp /= 5;five += tmp;}if (five > n)r = m;else l = m + 1;}int R = l-1;l = 0;r = 1e9;while (l < r) {int m = (l + r) >> 1;int five = 0;int tmp = m;while (tmp) {tmp /= 5;five += tmp;}if (five < n)l = m + 1;else r = m;}int L = l;printf("%d\n", R - L + 1);for (int i = L; i <= R; ++i)printf("%d ", i);puts("");}return 0;
}
/**/

笔试题 - 阶乘问题相关推荐

  1. Python求解进制问题(阿里巴巴2015笔试题)

    问题描述:用十进制计算30的阶乘,然后把结果转换成三进制表示,那么该进制表示的结果末尾会有多少个连续0? 解析:作为笔试题的话,要想按照题意先把阶乘结果计算出来再转换成三进制最后再数0的个数,时间肯定 ...

  2. java面试的笔试题

    入行也是有一段时间了,正好对以前面试遇到的笔试题,进行一下记录. 先构建一个学生对象,再写一段程序将一组学生对象按照年龄分组(年龄相同的为一组)(代码实现) public class Test1 {p ...

  3. Java面试题(一)100家大公司java笔试题汇总

    Java考试题 一:单选题 -– 1.下列哪一种叙述是正确的(D ) A. abstract修饰符可修饰字段.方法和类 B. 抽象方法的body部分必须用一对大括号{ }包住 C. 声明抽象方法,大括 ...

  4. 100家大公司java笔试题汇总

    NHN CHINA公司笔试题 1.在这写代码 Var array1 = [10,20]; Var array2 = [8,5]; Var result = array1.add(array2); Al ...

  5. 换了个地方,来北京工作,面试了4家python爬虫,写一些这四家(记得的)笔试题(2)

    1.Python是如何进行内存管理的? 答:从三个方面来说,一对象的引用计数机制,二垃圾回收机制,三内存池机制 一.对象的引用计数机制 Python内部使用引用计数,来保持追踪内存中的对象,所有对象都 ...

  6. 最全python爬虫面试笔试题及答案汇总,三万多字,持续更新,适合新手,应届生

    目录 一些经典的Python爬虫和网络编程面试题... 1 1.动态加载又对及时性要求很高怎么处理?... 1 2.分布式爬虫主要解决什么问题?... 1 3.什么是 URL?... 1 4.pyth ...

  7. 迅雷近几年笔试题及其分析

    作者:寒小阳 时间:2013年9月. 出处:http://blog.csdn.net/han_xiaoyang/article/details/11533437. 声明:版权所有,转载请注明出处,谢谢 ...

  8. 2014迅雷校园招聘(C++)(笔试题(四)

    迅雷2014校园招聘笔试题 转载请标明出处,原文地址:http://www.mianwww.com/html/2013/10/19169.html 温馨提示:客观题和主观题得分都要超过一定标准,才能获 ...

  9. java面试笔试题大汇总

    java面试笔试题大汇总 JAVA相关基础知识 1.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题 ...

最新文章

  1. 2013大数据全球技术峰会观后感
  2. MOS管电源开关电路的软启动
  3. android ListView详解
  4. 2021-05-07 matlab中的addpath用法
  5. 【转】Linux开机启动管理---systemd使用
  6. 玉米田(加加强版)【插头dp】
  7. 【云栖号案例 | 教育与科研机构】红岭创投上云 成功顺应全球电子商务发展趋势
  8. 《十四堂人生创意课》读书笔记,思维导图
  9. 读书日记- 堆排序算法
  10. 达内TTS6.0课件basic_day05
  11. [导入]Asp.net 2.0 自定义控件开发[创建自定义浮动菜单FloadMenu控件][示例代码下载]...
  12. SQL Server 2014 导入Excel
  13. 导入百度导航SDK遇到的相关问题
  14. java 7zip分卷压缩_7zip分卷压缩,rar分卷压缩文件
  15. 什么是网站PR值?如何提高网站pr值?网站pr值查询!
  16. python 面向对象 烤地瓜实例
  17. 打工人颤抖!蓝色光标宣布:全面用 AI 代替外包,股价一度飙涨 18%!
  18. jib构建镜像(使用阿里云容器镜像服务拉取镜像)
  19. javascript之随机验证码
  20. 将中国标准时间转化为yyyy-MM-dd 00:00:00格式

热门文章

  1. XML文档的基本操作
  2. 动态规划——双11既可以薅羊毛还能花钱最少
  3. 搭载鸿蒙的油烟机,华为、美的合作:搭载鸿蒙系统的家电来了 三大亮点
  4. python解压加密zip文件_Python:解压缩前检测一个zip文件否为加密,两种算法。
  5. 江阳职高计算机应用教改实验,计算机应用课程教改模式
  6. codeql php,使用codeql 挖掘 ofcms
  7. CSS3 线性渐变背景的过渡效果
  8. java实体字节属性定义_Java字节码方法表与属性表详解
  9. 基于TCP协议的网络程序(基础学习)
  10. ARM中断分析之四:WinCE的OAL层的中断分析