Java两种方法计算出阶乘尾部连续0的个数

 更新时间:2021年03月21日 11:47:41   作者:ReganYue  
这篇文章主要介绍了Java两种方法计算出阶乘尾部连续0的个数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

第一个方法是计算出阶乘然后计算字符串的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://www.nowcoder.com/questionTerminal/6ffdd7e4197c403e88c6a8aa3e7a332a

到此这篇关于Java两种方法计算出阶乘尾部连续0的个数的文章就介绍到这了,更多相关Java 阶乘尾部连续0的个数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java流程控制之循环结构for,增强for循环

    Java流程控制之循环结构for,增强for循环

    这篇文章主要介绍了Java流程控制之循环结构for,增强for循环,for循环是编程语言中一种循环语句,而循环语句由循环体及循环的判定条件两部分组成,其表达式为:for(单次表达式;条件表达式;末尾循环体){中间循环体;},下面我们俩看看文章内容的详细介绍
    2021-12-12
  • java分布式流处理组件Producer入门详解

    java分布式流处理组件Producer入门详解

    这篇文章主要为大家介绍了java分布式流处理组件Producer入门详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • Spring中的Sentinel熔断降级原理详解

    Spring中的Sentinel熔断降级原理详解

    这篇文章主要介绍了Spring中的Sentinel熔断降级原理详解,熔断是为了起到保护作用,如果某个目标服务调用比较慢或者大量的超时,这个时候如果触发熔断机制,则可以保证后续的请求不会继续发送到目标服务上,而是直接返回降级的逻辑并且快速释放资源,需要的朋友可以参考下
    2023-09-09
  • Java map集合顺序如何同步添加顺序

    Java map集合顺序如何同步添加顺序

    这篇文章主要介绍了Java map集合顺序如何同步添加顺序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • IntelliJ IDEA中ajax开发实现分页查询示例

    IntelliJ IDEA中ajax开发实现分页查询示例

    这篇文章主要介绍了IntelliJ IDEA中ajax开发实现分页查询,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • spring AOP实现@Around输出请求参数和返回参数

    spring AOP实现@Around输出请求参数和返回参数

    这篇文章主要介绍了spring AOP实现@Around输出请求参数和返回参数,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • Java集合框架之Collection接口详解

    Java集合框架之Collection接口详解

    这篇文章主要为大家详细介绍了Java集合框架之Collection接口,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • java简单坦克大战制作代码

    java简单坦克大战制作代码

    这篇文章主要介绍了java简单坦克大战制作代码,利用Java语言中的集合、Swing、线程等知识点编写一个坦克大战游戏,需要的朋友可以参考下
    2016-07-07
  • spring boot 的常用注解使用小结

    spring boot 的常用注解使用小结

    这篇文章主要介绍了spring boot 的常用注解使用小结,需要的朋友可以参考下
    2017-05-05
  • idea上提交项目到gitee 最后出现 Push rejected的问题处理方法

    idea上提交项目到gitee 最后出现 Push rejected的问题处理方法

    这篇文章主要介绍了idea上面提交项目到gitee 最后出现 Push rejected的问题处理方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定参考借鉴价值,需要的朋友可以参考下
    2020-09-09

最新评论