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