给定一个整数N,那么N的阶乘N!末尾有多少个0
算法思想:
用 n 不断除以 5,直到结果为 0,然后把中间得到的结果累加。
例如:求10的阶乘,用10/5=2,再用2/5=0,故10!的末尾一共有2个0。
代码实现:
#include
using namespace std;
int main()
{
int count = 0;
int N;
cout << "输入所求阶乘的数:";
cin >> N; //输入所求阶乘的数
for (int i = 1; i <= N; i++)
{
int j = i;
while (j % 5 == 0)
{
count++;
j /= 5;
}
}
cout << "该阶乘末尾有" << count << "个0" << en