您的位置:首页 > 其它

hdu 1124 Factorial(数论)

2013-10-01 16:54 225 查看
题意:

  求n!的尾0的个数

分析:

  0一定是由因子2和5相乘产生的;

  2的个数显然大于5的个数,故只需统计因子5的个数

  n/5不能完全表示n!中5的个数(egg: 25),应该n/=5后,累加上n/2。

  (每个因子5相隔5个数字,将间隔看成一个数,然后隔5个,又出现因子5)

#include<stdio.h>
int main()
{
int n,ans,x;
scanf("%d",&n);
while(n--)
{
ans=0;
scanf("%d",&x);

//x/=5;
while(x)
{
//ans++;
ans+=x/5;
x/=5;
}
printf("%d\n",ans);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: