• 求n!中含有0的个数


    题目:求n!中含有0的个数。

    分析 :这个题目很简单,关键是n的阶乘可能很大,一般的基础类型整数存不下。Java中提供了大数类,很方便,本题中就是用BigInteger类存放结果的。

     1 package huawei;
     2 
     3 import java.math.BigInteger;
     4 
     5 
     6 public final class Demo {
     7     
     8     /*
     9     功能:
    10         
    11     输入: 
    12         
    13     输出:    计算n!中有多少个0
    14          
    15     返回: 
    16          
    17     */
    18     
    19     public static   int getZeroCount(int n)
    20     {
    21         /*在这里实现功能*/
    22         BigInteger N = BigInteger.valueOf(n);
    23         BigInteger NFactorial = getNFactorial(N);//获取n的阶乘,保存在一个大整型里面
    24         String NFactorialToString = NFactorial.toString();
    25         
    26         //获取结果里面0的个数
    27         int total = 0;
    28         
    29         for(int i=0;i<NFactorialToString.length();i++) {
    30             
    31             if(NFactorialToString.charAt(i)=='0')
    32             {
    33                 total++;
    34             }
    35             
    36         }
    37         
    38 
    39         return total;
    40     }
    41     
    42     //计算n的阶乘
    43     public static BigInteger getNFactorial(BigInteger b) {
    44         
    45         if(b.equals(BigInteger.ONE)) 
    46         
    47         {
    48             return b;
    49             
    50         }else {
    51             
    52             return b.multiply(getNFactorial(b.subtract(BigInteger.ONE)));
    53             
    54         }
    55     }
    56     
    57 }
  • 相关阅读:
    网络问题排查
    SpringBoot 自定义注解清除缓存
    MYSQL外键的使用以及优缺点
    Java List
    黑客帝国代码雨
    前端接收字节数据流,显示图片
    何为熔断降级
    spring的线程
    window.open 与 iframe
    js 全部替换
  • 原文地址:https://www.cnblogs.com/hewenwu/p/3666232.html
Copyright © 2020-2023  润新知