黑马程序员技术交流社区

标题: 递归练习(1000的阶乘尾部零的个数)递归求1000阶乘结果的方法 [打印本页]

作者: xiaogui    时间: 2016-5-12 18:31
标题: 递归练习(1000的阶乘尾部零的个数)递归求1000阶乘结果的方法

        /**
         *递归练习(1000的阶乘尾部零的个数)
         * 需求:求出1000的阶乘尾部零的个数,用递归做
         */
        public static void main(String[] args) {
                System.out.println(getLastCount(getSum(1000)));
        }
        public static BigInteger getSum(int n) {
                if (n == 1) {
                        return new BigInteger("1");
                }else {
                       
                        BigInteger sum = new BigInteger(n+"");
                        return sum.multiply(getSum(n-1));
                }
        }
        public static int getLastCount(BigInteger sum) {
                int count = 0;
                String s = sum.toString();
                StringBuffer sb = new StringBuffer(s);
                String s1 = sb.reverse().toString();
                for (int i = 0; i < s1.length(); i++) {
                        if ('0' == s1.charAt(i)) {
                                count++;
                        }else {
                                break;
                        }
                }
                return count;
        }
这是一道练习题,笔记,里面做的时候没有应用到递归,自己写了一下,分享一下,有问题的地方欢迎指出,谢谢。






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