黑马程序员技术交流社区

标题: 求阶乘尾部零个数的问题(递归)说下你的理解 [打印本页]

作者: kangnam    时间: 2016-9-12 23:16
标题: 求阶乘尾部零个数的问题(递归)说下你的理解
/*
*需求:求出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);
                }
        }
}



作者: Zzh94520    时间: 2016-9-12 23:21
水一发。。。。。。
作者: kangnam    时间: 2016-9-12 23:26
Zzh94520 发表于 2016-9-12 23:21
水一发。。。。。。

我感觉我回一帖之后就没黑马币了
作者: java程序猿    时间: 2016-9-12 23:40
感谢楼主分享,学习了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2