Java怎么计算出阶乘尾部连续0的个数

  介绍

这篇文章将为大家详细讲解有关Java怎么计算出阶乘尾部连续0的个数,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

第一个方法是计算出阶乘然后计算字符串的0的个数。

import  java.util.Scanner;   import  java.math.BigDecimal,   import  java.text.DecimalFormat,   public  class  jc {   ,public  static  void 主要(String 参数[]){   ,Scanner  reader =, new 扫描仪(系统);   ,DecimalFormat  a =, new  DecimalFormat (“#”);   ,int  num;=,,num  reader.nextInt ();   ,double 金额=1;   ,(int  i=2; i<=num;我+ +){   ,*=我总和;   ,}   ,//System.out.println(总和);   ,//System.out.println (cal_the_number_of_zero(+“和“));   ,System.out.println (a.format(总和));   ,System.out.println (cal_the_number_of_zero (a.format(总和)));   ,}   ,public  static  int  cal_the_number_of_zero (String  str) {   ,int  num=0;   ,(int 我=0;i< str.length();我+ +){   ,,   ,如果(str.charAt (i)==& # 39; 0 & # 39;) {   ,num + +;   ,}   ,其他{num=0;},   ,}   ,return  num;   ,}   }

但是当数字很大时,上面那种方法就不能计算出来了。于是我们可以利用数学方法来计算。

import  java.util.Scanner;      public  class 主要{,   ,public  static  void  main (String [], args) {   Scanner 才能;sc =, new 扫描仪(系统);   int 才能;n =, sc.nextInt ();   int 才能;ret =0,,   ,,(int 我=n; i>=5;我——){   ,,int  tmp =我;   ,,,(tmp % 5==0) {   ,,,ret + +;   ,,,tmp=tmp/5;   ,,}   ,,}   System.out.println才能(ret);   ,}   }

关于“Java怎么计算出阶乘尾部连续0的个数”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看的到。

Java怎么计算出阶乘尾部连续0的个数