参加笔试遇到计算1000!后又几个零代码记不太清楚了,大致如下,是个填写缺省代码题public int count(int num)
{
int count;
int face=5;
while(face<=num){
count+=语句1 ;
face=face*5;
}
return count;}
{
int count;
int face=5;
while(face<=num){
count+=语句1 ;
face=face*5;
}
return count;}
对于1~1000之间的任意数x,这个x只要有一个5这个因子,阶乘的结果就会产生一位0,有两个5的因子就会产生两个0。所以求一下所有的数中含因子5的个数之和就可以了。
含一个因子5的数有5,10,15,20,25,30......(这些数会产生至少1位0)
含两个因子5的数有25,50,75,100,........ (这些数会产生至少2位0)
含三个因子5的数有125,250,375,500.... (这些数会产生至少3位0)
..
这些数的个数及所求。