Java两种方法计算出阶乘尾部连续0的个数
作者:ReganYue 发布时间:2021-09-03 06:04:40
标签: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
来源:https://blog.csdn.net/qq_36045898/article/details/115001582
0
投稿
猜你喜欢
- 本文较为深入的分析了android中UI主线程与子线程。分享给大家供大家参考。具体如下:在一个Android 程序开始运行的时候,会单独启动
- 前言最近,新来的同事写接口,需要知道lua怎么调用C#脚本,趁这个机会也给大家分享一下。道理我也不多少,直接上干货。框架介绍本项目采用lua
- 直接上代码public static class ImageCompress { /// <su
- C#是一门面向对象的语言,具有面向对象的基本特征,抽象、封装、继承、多态等性质。学习C#除了一些基本的语法,还得学习一些新的特性,比如说:泛
- 前言前面文章讲了消息是如何保存的以及consumeQueue与Index文件更新机制。随着消息的增加,Broker不可能一直保存所有消息,B
- 前言:项目开发中日志是不可缺少的一部分,通过日志能够定位和分析事故原因。目前流行日志框架包含了log4j、log4j2、logback等,另
- 目录安装Nginx准备SpringBoot应用添加网关现如今的项目开发基本都是微服务方式,导致一个系统中会有很多的服务,每个模块都对应着不同
- 一、序言Java多线程编程线程池被广泛使用,甚至成为了标配。线程池本质是池化技术的应用,和连接池类似,创建连接与关闭连接属于耗时操作,创建线
- SessionFactory在Hibernate中实际上起到了一个缓冲区的作用 他缓冲了HI
- 导读本文主体为单项链表和双向链表的反转以及简单的测试,以便于理解链表相关的算法题目。链表特点便于增删数据,不便于寻址在内存中属于跳转结构单链
- Object是所有类的父类,也就是说java中所有的类都是直接或者间接继承自Object类。比如你随便创建一个classA,虽然没有明说,但
- Java Resource路径首先一点很重要,Java中不存在标准的相对路径,各种相对路径取资源的方式都是基于某种规则转化为绝
- Vector实现了AbstractList抽象类和List接口,和ArrayList一样是基于Array存储的Vector 是线程安全的,在
- 本文实例讲述了Android实现跑马灯效果的方法。分享给大家供大家参考。具体如下:运行效果截图如下:直接在布局里写代码就好了:<Tex
- GB2312是简体中文系统的标准编码 用“区” 跟“位”的概念表示 称之为区位码 区指代大的范围 位相当于偏移量。每个汉字占两个字节高位字节
- 应用启动数据初始化接口CommandLineRunner和Application详解在SpringBoot项目中创建组件类实现Command
- 前言:我们每天都在编写Java代码,编译,执行。很多人已经知道Java源代码文件(.java后缀)会被Java编译器编译为字节码文件(.cl
- 一、存储Bean对象之前我们存储Bean时,需要在spring-config.xml中添加bean注册才行,这样的方式并不简单。我们要想更简
- 前言:最近工作上遇到几个USB模块在android平台上适配使用的情况,所以要用到USB权限获取问题##USB权限获取有以下2种方式:一、直
- 这个例子需要使用google的开源项目zxing的核心jar包core-3.2.0.jar可以百度搜索下载jar文件,也可使用maven添加