时间:2021-05-20
第一个方法是计算出阶乘然后计算字符串的0的个数。
import java.util.Scanner;import java.math.BigDecimal; import java.text.DecimalFormat; public class jc{ public static void main(String args[]){ Scanner reader = new Scanner(System.in); DecimalFormat a = new DecimalFormat("#"); int num; num = reader.nextInt(); double sum=1; for(int i=2;i<=num;i++){ sum*=i; } //System.out.println(sum); //System.out.println(cal_the_number_of_zero(sum+"")); System.out.println(a.format(sum)); System.out.println(cal_the_number_of_zero(a.format(sum))); } public static int cal_the_number_of_zero(String str){ int num=0; for(int i=0;i<str.length();i++){ if(str.charAt(i)=='0'){ num++; } else{num=0;} } return num; }}但是当数字很大时,上面那种方法就不能计算出来了。于是我们可以利用数学方法来计算。
import java.util.Scanner;public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int ret =0; for(int i=n;i>=5;i--){ int tmp =i; while(tmp%5==0){ ret++; tmp=tmp/5; } } System.out.println(ret); }}https:///questionTerminal/6ffdd7e4197c403e88c6a8aa3e7a332a
到此这篇关于Java两种方法计算出阶乘尾部连续0的个数的文章就介绍到这了,更多相关Java 阶乘尾部连续0的个数内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
看到题目后,分析了下,10的阶乘就已经很大了。计算出来再得到这个末尾的0的个数,完全不现实,即使实现了也是很麻烦的。后来想某个数的阶乘中乘积有5结尾的数字的时候
在excel日常使用中,该如何先计算出各个数组内位置相同的元素之间的乘积,然后计算出它们的和?下面为大家详细介绍一下,来看看吧! 方法/步骤 1、计算出
复制代码代码如下:/**绘制0°到360°的正弦曲线*分两种情形,y>0和y=-1;y-=0.1){//计算出y对应的弧度,乘10为图形放大倍数intm=-(i
java在file的尾部添加数据的两种方法总结问题描述:在文件的末尾追加内容方法1:利用RandomAccessFile类1.将randomAccessFile
用pytorch训练一个神经网络时,我们通常会很关心模型的参数总量。下面分别介绍来两种方法求模型参数一.求得每一层的模型参数,然后自然的可以计算出总的参数。1.