2018年东北农业大学春季校赛 E-wyh的阶乘
2018年东北农业大学春季校赛 E-wyh的阶乘
链接:https://www.nowcoder.com/acm/contest/93/E
来源:牛客网
题目描述
这个问题很简单,就是问你n的阶乘末尾有几个0?
输入描述:
输入第一行一个整数T(1<=T<=100),代表测试组数
接下来T行,每行一个数n(1<=n<=10^9)
输出描述:
对于每组测试数据,输出对应答案
示例1
输入
5
1
2
3
4
5
输出
0
0
0
0
1
思路
求n!阶乘末尾有多少个0
这是一个经典问题,从AC代码来看,此题很简单,直接暴力求阶乘是会溢出的,行不通。所以需要转化问题。
问题:如何产生0?
10进制数结尾的每一个0都表示有一个因数10存在——任何进制都一样,对于一个M进制的数,让结尾多一个0就等价于乘以M。
10可以分解为2 × 5——因此只有质数2和5相乘能产生0,别的任何两个质数相乘都不能产生0,而且2,5相乘只产生一个0。
所以,分解后的整个因数式中有多少对(2, 5),结果中就有多少个0,而分解的结果中,2的个数显然是多于5的,因此,有多少个5,就有多少个(2, 5)对。
所以,讨论1000的阶乘结尾有几个0的问题,就被转换成了1到1000所有这些数的质因数分解式有多少个5的问题。
1、 每隔5个,会产生一个0,比如 5, 10 ,15,20.。。
2 、每隔 5×5 个会多产生出一个0,比如 25,50,75,100
3 、每隔 5×5×5 会多出一个0,比如125.
int ans =0;
while(a)
{ans+=a/5;a/=5;
}
此题扩展:求扩展N!的二进制表示中最低位1中的位置。相当于求质因数的2的个数。
原理是:
假如你把1 × 2 ×3× 4 ×……×N中每一个因数分解质因数,结果就像:
1 × 2 × 3 × (2 × 2) × 5 × (2 × 3) × 7 × (2 × 2 ×2) ×……
AC代码
#include <iostream>
#include <string>
#include <vector>
using namespace std;int main()
{int T;cin >> T;for(int i=0;i<T;i++){int a;cin >> a;int ans =0;while(a){ans+=a/5;a/=5;}cout << ans <<endl;}return 0;
}
2018年东北农业大学春季校赛 E-wyh的阶乘相关推荐
- 2018年东北农业大学春季校赛 K wyh的数列【数论/斐波那契数列大数取模/循环节】...
链接:https://www.nowcoder.com/acm/contest/93/K 来源:牛客网 题目描述 wyh学长特别喜欢斐波那契数列,F(0)=0,F(1)=1,F(n)=F(n-1)+F ...
- 2018年东北农业大学春季校赛 D wyh的迷宫【搜索】
链接:https://www.nowcoder.com/acm/contest/93/D 来源:牛客网 题目描述 给你一个n*m的迷宫,这个迷宫中有以下几个标识: s代表起点 t代表终点 x代表障碍物 ...
- 2018年东北农业大学春季校赛 F wyh的集合【思维】
链接:https://www.nowcoder.com/acm/contest/93/F 来源:牛客网 题目描述 你们wyh学长给你n个点,让你分成2个集合,然后让你将这n个点进行两两连接在一起,连接 ...
- 2018年东北农业大学春季校赛 A-wyh的曲线
2018年东北农业大学春季校赛 A-wyh的曲线 链接:https://www.nowcoder.com/acm/contest/93/A 来源:牛客网 题目描述 给你三组数列,分别为 现在给你一个式 ...
- 2018年东北农业大学春季校赛 E 阶乘后的0【数论】
链接:https://www.nowcoder.com/acm/contest/93/E 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言5242 ...
- 2018年东北农业大学春季校赛 题解
[题目链接] 写在前面:从都到尾做了一下这场比赛,似乎好题都是原题,水题都是他们学校自己出的.原题在抄过来的过程中,很多题目的题面.数据范围都出了问题,还有题目数据很水.建议以后这样的比赛不要挂到外面 ...
- 2014湖南农业大学ACM校赛
湖南农业大学 2014年 ACM 校赛Problem 2014 /2/23 星期日 12:30-17:30 A.搜素 1794.查找指定的字符串 B.链表 1795 ...
- 西北大学2019年春季校赛题解(G-L)
G. 房间迷宫 裸的最短路,spfa和dij都行.因为每个数字的因子不会很多. 话说现场赛过的人好少,都是RE什么的奇怪错误,看代码也是最短路,不知道什么锅QAQ,就算你过了吧..因为这个题赛前预估算 ...
- 东北农业大学考研计算机大纲,东北农业大学339农业知识综合一考研大纲
东北农业大学339农业知识综合一考研大纲 2018年东北农业大学硕士研究生招生考研大纲 科目代码:339 科目名称:农业知识综合一 一.考试要求 主要考察考生掌握植物学基本概念.基本理论.包括植物的形 ...
最新文章
- 在Python中以扩展名.txt查找目录中的所有文件
- Git命令家底儿及Git数据通信原理详解
- 裸奔浏览器_【大数据早报】上网=“裸奔”?单凭浏览器历史记录就能锁定身份...
- Python 中的 import 与 from import 区别
- 一道小时候经常玩的数字游戏
- 预训练新范式!为什么Prompt会更有效?
- Laravel 成为最佳 PHP 框架的 14 个理由!
- hibernate笔记--使用注解(annotation)方式配置单(双)向多对一的映射关系
- 吴宗宪经典暴笑语录(笑不死你肯定是个异类)
- Python教程(非常好的教程)
- 关于12864显示器的SPI串行驱动问题的研究,AVR处理器(1)
- 三转CHM文件故障解决
- 2019年408考研算法题
- 物联网安全行业调研报告 - 市场现状分析与发展前景预测
- C语言入门——printf(““)左对齐与右对齐问题
- 怎么批量修改图片尺寸大小?
- 全站仪坐标计算机公式,全站仪测量时,坐标n,e,z如何对应于图形坐标x,y,z?...
- LVS DR TUN(IP Tunneling)介绍
- [20160213]关于ansi语法.txt
- 【KNIME经验】兼容读取多种日期格式数据