java利用实现大数阶乘(三种方法)
java利用实现大数阶乘(三种方法)
法一: for循环
import java.math.BigInteger;
import java.util.Scanner;
public class dashu1 {public static void main(String[] args) {Scanner scanner =new Scanner(System.in);int num = scanner.nextInt();BigInteger sc=BigInteger.ONE;for(int i=1;i<=num;i++) sc=sc.multiply(BigInteger.valueOf(i));System.out.println(sc);}}
法二: 递归
import java.math.BigInteger;
public class dashu {public static BigInteger f(int num){if(num==1)return new BigInteger("1");return new BigInteger(String.valueOf(num)).multiply(f(num-1));}
public static void main(String[] args) {System.out.println(f(5000));}}
法三: 利用数组
import java.util.Scanner;
public class dd {public static void main(String[] args) {System.out.println("请输入一个整数:");Scanner input=new Scanner(System.in);int number=input.nextInt();int[] a=new int[10000];//定义一个数组int up,temp,j,i,digit=1; //up表示进位,temp目前的结果,digit表示位数a[0]=1;//初始值为1for(i=2;i<=number;i++){for(up=0,j=1;j<=digit;j++){temp=a[j-1]*i+up;a[j-1]=temp%10;up=temp/10;}while(up>0){digit++;a[digit-1]=c%10;up=up/10;}}for(int u=digit-1;u>=0;u--){System.out.print(a[u]);}}}
java利用实现大数阶乘(三种方法)相关推荐
- java 获取当前时间的三种方法是什么
本文主要介绍java获取当前时间的三种方法.这篇文章很详细,有一定的参考价值.有需要的朋友可以参考一下. 总结一些java中获取当前时间的方法. System.currentTimeMillis() ...
- Java实现九九乘法表(三种方法实现)
Java实现九九乘法表(三种方法实现) 题目要求: /*输出以下九九乘法表 1 * 1 = 1 2 * 1 = 2 2 * 2 = 4 ......*/ 代码实现一(使用两层for循环--最常用): ...
- java 获取随机数字的三种方法
1 //方法1 (数据类型) 2 //(最小值+Math.random()*(最大值-最小值+1)) 3 // 例: 4 (int)(1+Math.random()*(10-1+1)) //从1到10 ...
- Java中 遍历 ArrayList的三种方法
import java.util.*;public class test {public static void main(String[] args) {List<String> lis ...
- JAVA获取当前时间的三种方法
1.java.util.Date day=new Date(); SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:s ...
- JAVA输出数组元素的三种方法(for/for each/toString)
2022_02_19学习输出数组元素的三种方法以及c语言和java中数组的不同点 方法一:for循环输出数组元素 方法二:for each循环语句 方法三:Arrays类中的toString方法 c语 ...
- eclipse java 逆向工程_Mybatis 逆向工程的三种方法详解
Mybatis 逆向工程 逆向工程通常包括由数据库的表生成 Java 代码 和 通过 Java 代码生成数据库表.而Mybatis 逆向工程是指由数据库表生成 Java 代码. Mybaits 需要程 ...
- java List转Map的三种方法(java8语法特性使用)
有时候我们需要将List中的某些属性转为一个map集合,在java8中提供了流式编程函数可以为我们非常方便的达到目的. 目录 1.创建测试类 2.构造测试数据 3.三种方法介绍 (1)第一种: (2) ...
- java String计算MD5的三种方法以及文件计算MD5的方法
MD5简介 MD5,Message Digest Algorithm 5,是一种被广泛使用的信息摘要算法,可以将给定的任意长度数据通过一定的算法计算得出一个128位二进制的散列值. 常见的表示方法是将 ...
最新文章
- 【Java】枚举(enum)机制 详解
- 计算机应用基础中什么是桌面,福师《计算机应用基础》在线作业二 Windows中进行系统设置的工具集是 用户可以根据自己的爱好更改显示器 键盘 鼠标器 桌面等硬件的设置...
- PHP 数据库连接池实现
- 教小学妹学算法:搜索算法解决迷宫问题
- Django基础核心技术之Model模型的介绍与设计
- zabbix 2.0.6监控cisco交换机 2950 2960s 3560G
- 面试官系统精讲Java源码及大厂真题 - 19 LinkedBlockingQueue 源码解析
- 用iso镜像配置本地yum源
- php scandir 目录树,使用php scandir函数遍历文件夹目录和所有文件
- [经验]修改SDI主窗口Title
- 【2015.8.26】新的开始与纪念web开发
- VS2013产品密钥
- java五子棋人机对战_java swing人机对战五子棋
- sata电源定义 联想小4pin_SATA硬盘15针供电接口的引脚定义
- 计算机组成原理分部实验,《计算机组成原理》课程建设的一点思考参考.pdf
- excel常用快捷键详解
- 永磁同步电机(三)——三相永磁同步电机仿真
- ubuntu 调整cpu运行模式至高性能
- 学籍的计算机管理属于什么应用领域,全国计算机等级考试一级B类WINDOWS题(2)
- 如何将电脑的动态IP设置成静态IP,并成功上网