hdu 1124 Factorial(数论)
题意:
求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); } }