A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


        /**
         *递归练习(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;
        }
这是一道练习题,笔记,里面做的时候没有应用到递归,自己写了一下,分享一下,有问题的地方欢迎指出,谢谢。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马