输入一个正整数n,求n!(即阶乘)末尾有多少个0? 比如: n = 10; n! = 3628800,所以答案为2
输入描述:
输入为一行,n(1 ≤ n ≤ 1000)
输出描述:
输出一个整数,即题目所求
输入例子1:
10
输出例子1:
2
思路:通过举例:
2*5=10
4*5=20
6*5=30
8*5=40
产生0的都是5的倍数。所以,有多少个5,就有多少个0.(因为偶数肯定比5多,所以只用考虑5的个数)。
5中有一个5,25中有2个5,125中有3个5,625中有4个5.
对于n,结果为n/5+n/25+n/125+n/625
代码如下:
#include <iostream>
#include<stdio.h>
using namespace std;
int main() {
int n;
cin>>n;
int res = 0;
res += n / 5 + n/25+n/125+n/625;
cout<<res<<endl;
return 0;
}