/*
*需求:求出1000的阶乘零的个数,用递归做
*
*分析:因为1到4的的阶乘没有阶乘,而到5的阶乘有1个零
*10 15 20 25 30 ......总而言之,出现5、0结尾就会有会有个0,5乘以一个偶数会有0
*5 10 15 20 25 30 35 40 45 ...1000 有1000/5 =200 个这样的数;
*5*5*1 5*5*2 ... 以上某些数分解5的因数 ,以上每隔5个多一个5, 200/5=40个
*5*5*5*1 ...如此循环 40/5 = 8
* 8/5=1
* 总共200+40+8+1=249个
* */
import java.io.*;
public class Test6 {
public static void main(String[] args) {
System.out.println(fun(1000));
}
public static int fun(int num) {
if(num > 0 && num < 5) {
return 0;
}else {
return num / 5 + fun(num / 5);
}
}
}
|
|