介绍
这篇文章将为大家详细讲解有关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的个数”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看的到。