2022:给出一个数,计算它阶乘后末尾多少个0.
思路:10 只能由 2 和 5 提供。而2富富有余,只考虑5的个数即可。
转化为统计5因子出现次数问题。循环除5即可。第一次处以5代表5的倍数有几个。
第二次除5代表25个数有几个,依此类推。
大量输出时,cout比printf慢很多,时间限制时,多用printf。本题cout会WA掉。
思路:10 只能由 2 和 5 提供。而2富富有余,只考虑5的个数即可。
转化为统计5因子出现次数问题。循环除5即可。第一次处以5代表5的倍数有几个。
第二次除5代表25个数有几个,依此类推。
大量输出时,cout比printf慢很多,时间限制时,多用printf。本题cout会WA掉。
#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
int n;
int fac;
int num;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
num=0;
scanf("%d",&fac);
while(fac/5)
{
num+=fac/5;
fac/=5;
}
printf("%d\n",num);
}
}