51NOD 1003 阶乘后面0的数量(一个思维的题目)
2016-05-25 20:41
441 查看
传送门
1003 阶乘后面0的数量
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
解题思路:
其实这是一个比较水的题,将这个题放上呢,是为接下来要写的一篇博客做铺垫的,我们可以这么想,要求n!后面有多少个0,那么什么样的数能够组成0呢,肯定是2*5了,那么很容易就想到出现5的次数比2小,那么我们主要就考虑出现5的次数就行了。所以就是看n!里面有多少个5,这个可以通过递归来实现。详见代码:
上代码:
1003 阶乘后面0的数量
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
解题思路:
其实这是一个比较水的题,将这个题放上呢,是为接下来要写的一篇博客做铺垫的,我们可以这么想,要求n!后面有多少个0,那么什么样的数能够组成0呢,肯定是2*5了,那么很容易就想到出现5的次数比2小,那么我们主要就考虑出现5的次数就行了。所以就是看n!里面有多少个5,这个可以通过递归来实现。详见代码:
上代码:
#include <iostream> using namespace std; typedef long long LL; LL get(LL n) { if(n == 0) return 0; return n/5+get(n/5); } int main() { LL n; while(cin>>n) { cout<<get(n)<<endl; } return 0; } /** _ooOoo_ o8888888o 88" . "88 (| -_- |) O\ = /O ____/`---'\____ .' \\| |// `. / \\||| : |||// \ / _||||| -:- |||||- \ | | \\\ - /// | | | \_| ''\---/'' | | \ .-\__ `-` ___/-. / ___`. .' /--.--\ `. . __ ."" '< `.___\_<|>_/___.' >'"". | | : `- \`.;`\ _ /`;.`/ - ` : | | \ \ `-. \_ __\ /__ _/ .-` / / ======`-.____`-.___\_____/___.-`____.-'====== `=---=' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 佛祖保佑 每次AC **/
相关文章推荐
- 经典问题:求是否存在前缀和(1671)
- opencv在visual studio的配置技巧
- Ecshop安装过程中的的问题:cls_image::gd_version()和不支持JPEG
- 圆形ImageView
- Nginx 配置详解
- python之os模块
- 漂亮的代码3:flatten 一个数组
- 杭电2844
- 多点触控
- C++第六次作业
- 数据仓库---企业信息工厂(EIF)
- Activity四种启动模式(standard,singleTop,singleTask,singleInstance)
- LeetCode题解——Palindrome Pairs
- 利用事件的冒泡特性,为子标签添加Onclick事件
- STM32F4手动调整时钟
- shell之用while从文件中读取数据
- 第13周-项目1-分数类中的运算符重载(2)
- Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK黑屏问题
- Shell排序
- SGU 294 He's Circles