传送门
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
**/