51Nod-1003 阶乘后面0的数量【分析思维】
来源:互联网 发布:绅士仓库新域名 编辑:程序博客网 时间:2024/06/08 00:06
1003 阶乘后面0的数量
基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题
n的阶乘后面有多少个0?
6的阶乘 = 1*2*3*4*5*6 = 720,720后面有1个0。
Input
一个数N(1 <= N <= 10^9)
Output
输出0的数量
Input示例
5
Output示例
1
问题链接:51Nod-1003 阶乘后面0的数量
问题分析:
这个问题是计算n!的后面有多少个0。因为2*5=10,那么0的个数依赖于其因子中的2的个数和5的个数。2的个数自然比5的个数多很多,就只需要知道5的个数即可。
令f(x)表示正整数x末尾所含有的“0”的个数, g(x)表示正整数x的因式分解中因子“5”的个数,那么有f(n!) = g(n!) = g(5^k * k! * a) = k + g(k!) = k + f(k!)。
程序说明:程序中,编写了一个非递归程序来计算0的个数。也可以编写一个递归程序来计算。
题记:(略)
AC的C++程序如下:
#include <iostream>using namespace std;inline int getlast0s(int n){ int ans = 0; while(n) { ans += n / 5; n /= 5; } return ans;}int main(){ int n; cin >> n; cout << getlast0s(n) << endl; return 0;}
阅读全文
0 0
- 51Nod-1003 阶乘后面0的数量【分析思维】
- 51NOD 1003 阶乘后面0的数量(一个思维的题目)
- 51-nod 1003 . 阶乘后面0的数量
- 51nod 1003 阶乘后面0的数量
- 51nod 1003阶乘后面0的数量
- 51nod-1003 阶乘后面0的数量
- 51Nod 1003 阶乘后面0的数量
- 51nod 1003 阶乘后面0的数量
- 51nod-【1003 阶乘后面0的数量】
- 51nod 1003 阶乘后面0的数量
- 51nod-1003 阶乘后面0的数量
- 51nod 1003 阶乘后面0的数量
- 51nod 1003 阶乘后面0的数量
- 51nod 1003 阶乘后面0的数量
- 51NOD 1003 阶乘后面0的数量
- [51NOD] 1003 阶乘后面0的数量 [数学]
- 1003 阶乘后面0的数量 51NOD
- 51nod 1003 阶乘后面0的数量
- 5月占位2
- Linux--RH254---unit 10 iptables
- 5月占位3
- 5月占位4
- quartz插件化
- 51Nod-1003 阶乘后面0的数量【分析思维】
- java中文乱码问题总结
- Exe_0
- IIS如何设置dll(webservice)为可执行程序
- 面试整体流程
- QT中的d-pointer模式分析
- 网络游戏的对时以及同步问题
- 从经济学角度考虑结婚问题
- try-catch使用思考