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利用实现大数阶乘(三种方法)相关推荐

  1. java 获取当前时间的三种方法是什么

    本文主要介绍java获取当前时间的三种方法.这篇文章很详细,有一定的参考价值.有需要的朋友可以参考一下. 总结一些java中获取当前时间的方法. System.currentTimeMillis() ...

  2. Java实现九九乘法表(三种方法实现)

    Java实现九九乘法表(三种方法实现) 题目要求: /*输出以下九九乘法表 1 * 1 = 1 2 * 1 = 2 2 * 2 = 4 ......*/ 代码实现一(使用两层for循环--最常用): ...

  3. java 获取随机数字的三种方法

    1 //方法1 (数据类型) 2 //(最小值+Math.random()*(最大值-最小值+1)) 3 // 例: 4 (int)(1+Math.random()*(10-1+1)) //从1到10 ...

  4. Java中 遍历 ArrayList的三种方法

    import java.util.*;public class test {public static void main(String[] args) {List<String> lis ...

  5. JAVA获取当前时间的三种方法

    1.java.util.Date day=new Date(); SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:s ...

  6. JAVA输出数组元素的三种方法(for/for each/toString)

    2022_02_19学习输出数组元素的三种方法以及c语言和java中数组的不同点 方法一:for循环输出数组元素 方法二:for each循环语句 方法三:Arrays类中的toString方法 c语 ...

  7. eclipse java 逆向工程_Mybatis 逆向工程的三种方法详解

    Mybatis 逆向工程 逆向工程通常包括由数据库的表生成 Java 代码 和 通过 Java 代码生成数据库表.而Mybatis 逆向工程是指由数据库表生成 Java 代码. Mybaits 需要程 ...

  8. java List转Map的三种方法(java8语法特性使用)

    有时候我们需要将List中的某些属性转为一个map集合,在java8中提供了流式编程函数可以为我们非常方便的达到目的. 目录 1.创建测试类 2.构造测试数据 3.三种方法介绍 (1)第一种: (2) ...

  9. java String计算MD5的三种方法以及文件计算MD5的方法

    MD5简介 MD5,Message Digest Algorithm 5,是一种被广泛使用的信息摘要算法,可以将给定的任意长度数据通过一定的算法计算得出一个128位二进制的散列值. 常见的表示方法是将 ...

最新文章

  1. 【Java】枚举(enum)机制 详解
  2. 计算机应用基础中什么是桌面,福师《计算机应用基础》在线作业二 Windows中进行系统设置的工具集是 用户可以根据自己的爱好更改显示器 键盘 鼠标器 桌面等硬件的设置...
  3. PHP 数据库连接池实现
  4. 教小学妹学算法:搜索算法解决迷宫问题
  5. Django基础核心技术之Model模型的介绍与设计
  6. zabbix 2.0.6监控cisco交换机 2950 2960s 3560G
  7. 面试官系统精讲Java源码及大厂真题 - 19 LinkedBlockingQueue 源码解析
  8. 用iso镜像配置本地yum源
  9. php scandir 目录树,使用php scandir函数遍历文件夹目录和所有文件
  10. [经验]修改SDI主窗口Title
  11. 【2015.8.26】新的开始与纪念web开发
  12. VS2013产品密钥
  13. java五子棋人机对战_java swing人机对战五子棋
  14. sata电源定义 联想小4pin_SATA硬盘15针供电接口的引脚定义
  15. 计算机组成原理分部实验,《计算机组成原理》课程建设的一点思考参考.pdf
  16. excel常用快捷键详解
  17. 永磁同步电机(三)——三相永磁同步电机仿真
  18. ubuntu 调整cpu运行模式至高性能
  19. 学籍的计算机管理属于什么应用领域,全国计算机等级考试一级B类WINDOWS题(2)
  20. 如何将电脑的动态IP设置成静态IP,并成功上网

热门文章

  1. C++/Qt 使用OpenCV打开摄像头,旋转视频,计算fps
  2. pytorch geometric(PYG) - NeighborSampler
  3. 亲情在前面幸福就在后面
  4. fastdfs应用场景
  5. 【Unity】文字游戏制作插件Fungus教程(5)成熟的对话框的开发
  6. 自创深度学习算法,预测股票上涨
  7. 怎么用云服务器跑matlab,云服务器 跑matlab
  8. 在微信开发者中画弧线或者圆
  9. 刷百度相关搜索就用【胖虎图图-互动点击系统】
  10. PHP工程师零基础入门到就业班