题目描述
输入一个正整数n,求n!(即阶乘)末尾有多少个0? 比如: n = 10; n! = 3628800,所以答案为2
代码实现
//实现比较简单,主要还得考虑到整数为10的倍数的时候,0的个数等问题;
#include<iostream>
int main(){
int num;
scanf("%d",&num);
int sum =0;
while(num){
num = num/5;
sum = sum+num;
}
printf("%d",sum);
return 0;
}
本文介绍了一种计算任意正整数阶乘末尾0数量的高效算法。通过不断除以5并累加的方式,可以快速得到结果,避免了直接计算阶乘所带来的巨大数值运算问题。
597

被折叠的 条评论
为什么被折叠?



