洛谷 P2388 阶乘之乘 题解
本蒟蒻又来发题解了QwQ;
看到这个题目,本蒟蒻第一眼就想写打个暴力;
嗯,坏习惯;
但是,动动脑子想一想就知道,普通的的暴力是过不了的;
但是,身为蒟蒻的我,也想不出什么高级的数学方法来优化;
好,回到正题
题目是要求我们求出这个累乘末尾的‘0’
‘0’是个特别特殊的数字,因为是累乘,那么一个‘0’肯定是由一个‘2’和一个‘5’相乘得来的;
而且‘0’的个数肯定是‘2’和‘5’之间数目较少的那一个的个数;
而我们又是求它的阶乘的累乘,
所以‘5’的个数一定要小于‘2’的个数
那么‘0’的个数就是‘5’的个数‘
这样就很好写的;
PS.我们有足够的时限去写这道题,那么你跑100ms过的是100分,1ms过的也是100分;那么我们就不应该盲目的去追求更快的速度,更高级的方法,应该更加有效的练习(划掉;但是有时间我觉得还是可以多想一想,可以锻炼锻炼思维。
这只代表个人观点;
好,愉快的代码时间:
include<bits/stdc++.h>
using namespace std;
define int long long//不开long long见祖先
int n, now, num, ans;//num是这一轮的‘0’的个数,ans是总答案;
signed main()
{
scanf("%lld", &n);//输入
for(int i = 1; i <= n; ++ i)//累乘,依次枚举
{
now = i;//因为要不断除5,所以不可以直接用i;
while(now % 5 == 0)//找‘5’
{
++ num;//加一个
now /= 5;//除上5
}
ans += num;//相加
//注意:num不需要赋值为0,也不可以
//因为它的累乘包含了它的前面的点,
//所以如果num赋值为0后就会导致错误
}
printf("%lld", ans);//输出,再次强调一定要开long long
return 0;
}
洛谷 P2388 阶乘之乘 题解的更多相关文章
- 洛谷——P2388 阶乘之乘
P2388 阶乘之乘 题目背景 不告诉你…… 题目描述 求出1!*2!*3!*4!*……*n!的末尾有几个零 输入输出格式 输入格式: n(n<=10^8) 输出格式: 有几个零 输入输出样例 ...
- 题解 洛谷 P2388 阶乘之乘
目录 简要题意 题解 主要思路 一个 \(\omega(n)\) 的算法 一个 \(O(\log n)\) 的算法 一个算法 代码 算法 \(1\)(\(\omega(n)\)) 算法 \(2\) 算 ...
- 洛谷P2388 阶乘之乘
题目背景 不告诉你-- 题目描述 求出1!*2!*3!*4!*--*n!的末尾有几个零 输入输出格式 输入格式: n(n<=10^8) 输出格式: 有几个零 输入输出样例 输入样例#1: 复制 ...
- 【洛谷 P2388 阶乘之乘】模拟
分析 求因数5的个数 AC代码 #include<iostream> using namespace std; int main() { long long n,t,ans=0,s=0; ...
- 洛谷P1783 海滩防御 分析+题解代码
洛谷P1783 海滩防御 分析+题解代码 题目描述: WLP同学最近迷上了一款网络联机对战游戏(终于知道为毛JOHNKRAM每天刷洛谷效率那么低了),但是他却为了这个游戏很苦恼,因为他在海边的造船厂和 ...
- 洛谷P4047 [JSOI2010]部落划分题解
洛谷P4047 [JSOI2010]部落划分题解 题目描述 聪聪研究发现,荒岛野人总是过着群居的生活,但是,并不是整个荒岛上的所有野人都属于同一个部落,野人们总是拉帮结派形成属于自己的部落,不同的部落 ...
- 洛谷P1155 双栈排序题解(图论模型转换+二分图染色+栈)
洛谷P1155 双栈排序题解(图论模型转换+二分图染色+栈) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1311990 原题地址:洛谷P1155 双栈排序 ...
- 洛谷P1009 阶乘之和 题解
想看原题请点击这里:传送门 看一下原题: 题目描述 用高精度计算出S=!+!+!+…+n! (n≤) 其中“!”表示阶乘,例如:!=****××××. 输入格式 一个正整数N. 输出格式 一个正整数S ...
- 洛谷10月月赛II题解
[咻咻咻] (https://www.luogu.org/contestnew/show/11616) 令人窒息的洛谷月赛,即将参加NOIp的我竟然只会一道题(也可以说一道也不会),最终145的我只能 ...
随机推荐
- 爬虫学习--Day4(小猿圈爬虫开发_2)
requests模块 - urllib模块 - requests模块 requests模块:python中原生的一款基于网络请求的模块,功能非常强大,简单便捷,效率极高.作用:模拟浏览器发送请求. 如 ...
- Codeforces Round #599 (Div. 2) E. Sum Balance
这题写起来真的有点麻烦,按照官方题解的写法 先建图,然后求强连通分量,然后判断掉不符合条件的换 最后做dp转移即可 虽然看起来复杂度很高,但是n只有15,所以问题不大 #include <ios ...
- mysql并发量过大造成 update语句更新错误
mysql并发量过大造成 update语句更新错误 在同一字段的时候更新的时候 如果并发量太大 就会更新错误 这个时候只能用 swoole 消息队列更新
- Machine Learning in Action ---- kNN
------------恢复内容开始------------ # -*- coding: utf-8 -*- """ Created on Thu Nov 14 19:2 ...
- 201871010114-李岩松《面向对象程序设计(java)》第十一周学习总结
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...
- 关于github 新工程上传代码 git 命令
1.git init // 初始化git文件 2.git add . //添加上传全部文件 "."代表全部 3.git remote add origin git····//gi ...
- 关于css中的字体样式
1.决定字体的属性 color:字体颜色 属性值:单词,十六进制表示,rgb 2.字体大小 font-size:12px:属性值是整数字,不要带小数,单位是px叫做像素单位:凡是由像素拼成的图片我们 ...
- sparkSQL 简介
一.Spark SQL的特点 1.支持多种数据源:Hive.RDD.Parquet.JSON.JDBC等.2.多种性能优化技术:in-memory columnar storage.byte-code ...
- nyoj 277-车牌号 (map, pair, iterator)
277-车牌号 内存限制:64MB 时间限制:3000ms 特判: No 通过数:9 提交数:13 难度:1 题目描述: 茵茵很喜欢研究车牌号码,从车牌号码上可以看出号码注册的早晚,据研究发现,车牌号 ...
- 用 GitBook 创建一本书
用 GitBook 创建一本书 Gitbook 首先是一个软件,它使用 Git 和 Markdown 来编排书本,如果你没有听过 Git 和 Markdown,那么 gitbook 可能不适合你直接入 ...