笔试题 - 阶乘问题

题干:

【题意】
给你一个数组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;
}
/**/

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/440775.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php获取location,php获取header[‘location’]信息常见问题

15/01/31本文关键字: 302, header, location//初始化url信息$host “#8221;;$url$host.”l/rzTf7ap2viw/&iid222004556&resourceId0_04_05_99/v.swf”;//按照字段获取header响应信息$headers get_headers($url, TRUE);//获取这个土豆的302跳转地址$u302 $headers[“Lo…

【计蒜客 - 蓝桥训练】蒜厂年会(单调队列优化dp,循环数列的最大子段和)

题干&#xff1a; 在蒜厂年会上有一个抽奖&#xff0c;在一个环形的桌子上&#xff0c;有 nn 个纸团&#xff0c;每个纸团上写一个数字&#xff0c;表示你可以获得多少蒜币。但是这个游戏比较坑&#xff0c;里面竟然有负数&#xff0c;表示你要支付多少蒜币。因为这些数字都是…

php对联广告,html左右对联代码 cms网站对联广告html代码

实现网页左右两侧居中的对联广告代码你只记得自己有好多朋友却从没想过小编只有你一人。无标题文档 #left{ width:200px;height:450px; position:absolute; left:0px; background:red; border:1px #000 solid} #right{width:200px;height:450px; position:absolute; right:0px;…

php 分页 url重写 分页问题,解决千古难题,wordpress分页URL问题,wordpress给分页加链接...

原本的wordpress文章如果分页会成如下的结构&#xff1a;http://www.xyqzmt.cn/1.html/2通常固定链接都是这样的结构&#xff0c;设为/%postname%.html或者/%post_id%.html 以前我一直无法解决如上的问题&#xff0c;最后放弃挣扎&#xff0c;如果遇到很长的文章全都放在一个页…

【POJ - 2378】Tree Cutting(树形dp,树的重心变形)

题干&#xff1a; After Farmer John realized that Bessie had installed a "tree-shaped" network among his N (1 < N < 10,000) barns at an incredible cost, he sued Bessie to mitigate his losses. Bessie, feeling vindictive, decided to sabotage…

php 5.5.38 ldap安装,centos5.5系统下面,lnmp环境下面php加载ldap扩展

对于LDAP的安装得先安装检查下面是不是已经安装&#xff0c;如果没有安装之&#xff1a;检查&#xff1a;yum list openldapyum list openldap-devel安装 &#xff1a;yum install openldapyum install openldap-devel一定要执行这条命令&#xff1a;cp -frp /usr/lib64/liblda…

【牛客 - 181F】子序列(容斥,组合数,费马小定理)

题干&#xff1a; 题目描述 给出一个长度为n的序列&#xff0c;你需要计算出所有长度为k的子序列中&#xff0c;除最大最小数之外所有数的乘积相乘的结果 输入描述: 第一行一个整数T&#xff0c;表示数据组数。 对于每组数据&#xff0c;第一行两个整数N&#xff0c;k&#…

php石头剪刀布五局三胜,求程序,下面是剪刀石头布的程序,谁能帮忙改成能选择三局两胜,五局三胜……的?能成功运行的加分...

// 只需要修改main() //#define AllCount 5 // 输入你要选择的赛制&#xff0c;5为五局三胜&#xff0c;3为三局两胜 //#define WinCount AllCount / 2 1 void main() { Play play; int a5; int failure0,win0,tie0; unsigned long begin; int WinCount; int AllCount; printf…

【CodeForces - 1102C 】Doors Breaking and Repairing (思维,简单博弈)

题干&#xff1a; You are policeman and you are playing a game with Slavik. The game is turn-based and each turn consists of two phases. During the first phase you make your move and during the second phase Slavik makes his move. There are nn doors, the i…

php如何提高程序运行效率,如何提高PHP的运行效率 | 萧小寒

摘要在网站开发的过程中&#xff0c;如果我们不太注意代码的规范和编写技巧&#xff0c;很容易导致代码运行效率低下的问题。这个问题应该是绝大多数程序员身上的通病。如何编写出高效的代码&#xff0c;成为很多初中级程序员向高级程序员转变的一道无法逾越的坎。今天让我们一…

【CodeForces - 485C】Bits (二进制相关,数学,贪心)

题干&#xff1a; Lets denote as the number of bits set (1 bits) in the binary representation of the non-negative integer x. You are given multiple queries consisting of pairs of integers l and r. For each query, find the x, such that l ≤ x ≤ r, an…

php工程导致系统蓝屏,经常蓝屏是什么原因

经常蓝屏的原因&#xff1a;1、错误安装或更新显卡驱动后导致电脑蓝屏&#xff1b;2、超频过度是导致蓝屏&#xff1b;3、安装的软件存在不兼容&#xff1b;4、电脑内部硬件温度过高&#xff1b;5、内存条接触不良或内存损坏。错误更新显卡驱动错误安装或更新显卡驱动后导致电脑…

【CodeForces - 485B】Valuable Resources (贪心,水题,几何相关)

题干&#xff1a; Many computer strategy games require building cities, recruiting army, conquering tribes, collecting resources. Sometimes it leads to interesting problems. Lets suppose that your task is to build a square city. The world map uses the Car…

php测试插入,php – 使用Symfony测试数据库插入

今天是个好日子,在过去的几天里,我一直在研究测试驱动开发,并决定我也需要学习它.虽然我无法弄清楚如何准确地做到这一点.我的项目依赖于Symfony2.1.6框架和Doctrine,所以我有一些需要填充的数据库表.Book (1,n) – (0,n) Genre现在,如果我想插入一个类型记录,我首先需要编写一…

【CodeForces - 485A】Factory (水题,抽屉原理,tricks)

题干&#xff1a; One industrial factory is reforming working plan. The director suggested to set a mythical detail production norm. If at the beginning of the day there were x details in the factory storage, then by the end of the day the factory has to p…

matlab调用哈希表,ros与matlab联动使用

ros与matlab联动使用联动使用教程1 ubuntu18.04或16.04下安装matlab R2017b参考链接2 ubuntu下基于matlab启动rosmatlab中常用命令如下&#xff1a;查看robotics system toolbox工具箱是否安装成功help robotics.rosrosinit ——表示启动ROS&#xff0c;相当于roscorerosshutdo…

【CodeForces - 1020C】Elections (枚举投票数,贪心)

题干&#xff1a; As you know, majority of students and teachers of Summer Informatics School live in Berland for the most part of the year. Since corruption there is quite widespread, the following story is not uncommon. Elections are coming. You know th…

java 制作快捷键,Java快捷键制作

Java快捷键制作用过VB的知道按下F5是运行窗体&#xff0c;用过Photoshop的知道按下Tab是隐藏所有面板&#xff0c;你的Java程序也想有这个功能么&#xff1f;那么希望这篇文章对您有所帮助。子菜单类JMenuItem有一个方法不知道你注意过没有:setAccelerator。打开帮助文件对这个…

【CodeForces - 1020A】New Building for SIS(模拟)

题干&#xff1a; You are looking at the floor plan of the Summer Informatics Schools new building. You were tasked with SIS logistics, so you really care about travel time between different locations: it is important to know how long it would take to get …

matlab 实验5,MATLAB实验5报告.doc

实验课程名称&#xff1a;《数学软件与数学实验》实验项目名称实验五&#xff1a;线性规划问题求解实验成绩实 验 者王宗德专业班级数学1504组 别同组者实验日期16年5月一、实验目的1. 掌握用MATLAB优化工具箱求解线性规划问题的方法&#xff1b;2. 练习建立实际问题的线性规划…