**
航电oj:Factorial
**
#题目描述

#题目bb这么多就只问你 n 的阶乘中有多少个0
#肯定不能撒一样的算出来在数 要知道1~9 中只有2的倍数和5的倍数相乘才会有0出现 2比5多 那就只要找5的倍数 就行
#知识点
数学
#代码
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int n;
int math(int n)
{
int sum = 0;
while(n)
{
sum += (n/5);
n /= 5;
}
return sum;
}
int main()
{
scanf("%d",&n);
while(n--)
{
int m;
scanf("%d",&m);
printf("%d\n",math(m));
}
return 0;
}
#总结
数学类型的题要找到规律就好写
该博客讨论了如何高效地计算一个正整数的阶乘中包含的零的个数。通过分析1到n中5的倍数的数量,可以确定阶乘中0的个数,因为只有2和5的乘积才会产生0。代码示例展示了如何利用这个数学原理进行计算,并指出这类问题属于数学类型的题目,需要找到规律来解决。
1693

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



