51nod1003阶乘后边0的数量
题目描述 链接戳这里
解法:
《编程之美》书里有讲
N!能产生0的质数组合只能是2 * 5,也就是说当对N!进行质数分解之后
N!末尾 0 的个数取决于从 1 到 n 的各个数的因子中 2 和 5 的个数的较小的那个,但又因为能被2整除的数出现的频率比能被5整除的数高得多,且出现一个5的时,最少会同时出现一个2,所以最小值就是5出现的个数。即求出5出现的个数就可以得到N!末尾0的个数。
求5出现的个数
n的阶乘 就是 1x2x3x4x5x6........xn
各个因子中5的个数 就是 n累除以5 得到的数字累加 直到 得到0
比如 25 = 1x2x3x4x5x6......x25 这里面每个数进行质因数分解 会得到6个五,其中5,10,15,20各自有一个 25有两个
25/5 =5 5/5=1 1/5=0 5+1+0=6;
为什么 这样解呢 因为 分解质因数后 5,10,15,20各自贡献一个 25贡献两个 125 贡献三个 以此类推
所以 这里面出现的5的次数 就是 =【n/5】+【n/25】+【n/125】......
所以就是n累除5 计数就好了
代码
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<string.h>
const int maxn=1e5+7;
typedef long long ll;
ll n;
int main(){scanf("%lld",&n);ll sum=0;while(n){sum+=n/5;n/=5;}printf("%lld",sum);return 0;
}
51nod1003阶乘后边0的数量相关推荐
- 51Nod-1003 阶乘后面0的数量【分析思维】
1003 阶乘后面0的数量 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 n的阶乘后面有多少个0? 6的阶乘 = 1*2*3*4*5*6 = 720,720后面有1 ...
- 51Nod 1003 阶乘后面0的数量(数学,思维题)
1003 阶乘后面0的数量 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 n的阶乘后面有多少个0? 6的阶乘 = 1*2*3*4*5*6 = 720 ...
- 1003 阶乘后面0的数量
1003 阶乘后面0的数量 基准时间限制:1 秒 空间限制:131072 KB n的阶乘后面有多少个0? 6的阶乘 = 1*2*3*4*5*6 = 720,720后面有1个0. Input 一个数N( ...
- 51 Nod 阶乘后面0的数量
1003 阶乘后面0的数量 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 收藏 关注 n的阶乘后面有多少个0? 6的阶乘 = 1*2*3*4*5*6 = 72 ...
- 51Nod 1003 阶乘后面0的数量 | 思维
题意:n的阶乘后面0的个数,如果直接算出阶乘再数0的数量一定会超时的. 因为10=2*5,所以求出5贡献的次数就行. #include "bits/stdc++.h" using ...
- 【C】阶乘后面0的数量
n的阶乘后面有多少个0? 6的阶乘 = 1*2*3*4*5*6 = 720,720后面有1个0. Input 一个数N(1 <= N <= 10^9) Output 输出0的数量 Samp ...
- 【经典智力题】1024! 末尾有多少个0?——“计算阶乘末尾0的数量”问题引出
网上有这样一个广为流传的有趣问题: 1024! 末尾有多少个0? 相应的解法是: 末尾0的个数取决于乘法中因子2和5的个数.显然乘法中因子2的个数大于5的个数,所以我们只需统计因子5的个数. 是5的倍 ...
- 求一个数的阶乘中0的个数
求一个数的阶乘中0的个数 连续几天产出为负,再不写点东西没法交代了... public class The_number_of_0_in_FactorialN {public static void ...
- NYOJ 84 阶乘的0
阶乘的0 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 计算n!的十进制表示最后有多少个0 输入 第一行输入一个整数N表示测试数据的组数(1<=N<=100 ...
- NYOJ 84 阶乘的0 数论
阶乘的0 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 计算n!的十进制表示最后有多少个0 输入 第一行输入一个整数N表示测试数据的组数(1<=N<=100 ...
最新文章
- AI之Robot:带你玩转机器人DIY机器人——让你成为机器人的真正主人
- 优朋普乐大数据_优朋普乐黑维炜:互动电视市场已进入成熟发展期
- 图像基本群运算--滤波
- 记一次Sentry部署过程
- ssl提高组国庆模拟赛【2018.10.5】
- LeetCode 383. Ransom Note
- .NET控件Designer架构设“.NET研究”计
- 2019.7.26随堂笔记
- Atitit 企业常见100个职能 组织职能 社会职能 政府职能 家庭职能 团队职能
- C++20 标准正式发布,命名为 ISO/IEC 14882:2020。
- 关于计算机ps读后感,ps心得体会4篇
- matlab coder 4.0,利用MATLAB Coder将MATLAB代码生成C/C++代码
- 当刷机工具遇到SetupConnection时的解决方法
- 16部趣味数学纪录片
- ubuntu分区时主分区和逻辑分区怎么分
- 牛逼的黑客也得找工作,他们靠的是黑掉公司网站?
- 2006年主流建站系统及其典型网站演示(CMS篇)
- SVM-支持向量机算法(一)
- windows使用ssh连接远程服务器
- Python Print打印计时器功能