今天小编突发奇想,一般的C语言和普通的计算器想要算出100的阶乘根本行不通,那么100的阶乘到底多大呢?想到Java中有个BigInteger类,于是,今天就用代码实现一下100的阶乘;

import java.math.BigInteger;
import java.util.Scanner;public class Main {public static void main(String[] args) throws IOException {Demo_02();}private static void Demo_02() {System.out.print("请输入一个整数求阶乘:");String s = new Scanner(System.in).nextLine();System.out.println(Mulptiy(new BigInteger(s)).toString());}public static BigInteger Mulptiy(BigInteger n) {if(n.intValue() == 1) return new BigInteger("1");BigInteger sub = new BigInteger("1");BigInteger bit = n.subtract(sub);return n.multiply(Mulptiy(bit));}
}
请输入一个整数求阶乘:100
93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
请输入一个整数求阶乘:1000
402387260077093773543702433923003985719374864210714632543799910429938512398629020592044208486969404800479988610197196058631666872994808558901323829669944590997424504087073759918823627727188732519779505950995276120874975462497043601418278094646496291056393887437886487337119181045825783647849977012476632889835955735432513185323958463075557409114262417474349347553428646576611667797396668820291207379143853719588249808126867838374559731746136085379534524221586593201928090878297308431392844403281231558611036976801357304216168747609675871348312025478589320767169132448426236131412508780208000261683151027341827977704784635868170164365024153691398281264810213092761244896359928705114964975419909342221566832572080821333186116811553615836546984046708975602900950537616475847728421889679646244945160765353408198901385442487984959953319101723355556602139450399736280750137837615307127761926849034352625200015888535147331611702103968175921510907788019393178114194545257223865541461062892187960223838971476088506276862967146674697562911234082439208160153780889893964518263243671616762179168909779911903754031274622289988005195444414282012187361745992642956581746628302955570299024324153181617210465832036786906117260158783520751516284225540265170483304226143974286933061690897968482590125458327168226458066526769958652682272807075781391858178889652208164348344825993266043367660176999612831860788386150279465955131156552036093988180612138558600301435694527224206344631797460594682573103790084024432438465657245014402821885252470935190620929023136493273497565513958720559654228749774011413346962715422845862377387538230483865688976461927383814900140767310446640259899490222221765904339901886018566526485061799702356193897017860040811889729918311021171229845901641921068884387121855646124960798722908519296819372388642614839657382291123125024186649353143970137428531926649875337218940694281434118520158014123344828015051399694290153483077644569099073152433278288269864602789864321139083506217095002597389863554277196742822248757586765752344220207573630569498825087968928162753848863396909959826280956121450994871701244516461260379029309120889086942028510640182154399457156805941872748998094254742173582401063677404595741785160829230135358081840096996372524230560855903700624271243416909004153690105933983835777939410970027753472000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
请输入一个整数求阶乘:10000
Exception in thread "main" java.lang.StackOverflowErrorat java.base/java.lang.Character.digit(Character.java:10620)at java.base/java.lang.Character.digit(Character.java:10568)at java.base/java.lang.Integer.parseInt(Integer.java:650)at java.base/java.math.BigInteger.<init>(BigInteger.java:536)at java.base/java.math.BigInteger.<init>(BigInteger.java:674)at MainTest/xyz.zlqhe.main.Main.Mulptiy(Main.java:24)at MainTest/xyz.zlqhe.main.Main.Mulptiy(Main.java:26)

好吧我电脑用到10000直接爆炸,可能栈内存溢出了,也可能String放不下,不试了不试了,我真是闲着无聊

如何用Java算出100的阶乘相关推荐

  1. 如何用计算机算出男朋友的身高,【趣味物理】如何用物理方法测出男生的真实身高?...

    原标题:[趣味物理]如何用物理方法测出男生的真实身高? 毕导,本名毕啸天,清华大学化工系博士生,今日头条优质科普内容创作者. 如何测出男生的真实身高? 男生常常会隐瞒身高,173敢报178,175就敢 ...

  2. Java中求100的阶乘

    使用BigInteger大容量运算类计算100的阶乘 一.一般算法(循环) public class Test { public static void main(String[] args) { i ...

  3. java算出两个时间差(LocalDateTime)

    对象介绍 Object desc format LocalDateTime 日期时间 yyyy-MM-dd'T'HH:mm:ss LocalDate 日期 yyyy-MM-dd LocalTime 时 ...

  4. 用java写出5的阶乘_java输入一个数n,计算n的阶乘(5的阶乘=1*2*3*4*5)

    import java.util.Scanner;public class A{下面的方32313133353236313431303231363533e78988e69d83313333303632 ...

  5. java 算出下一个工作日_Java 计算一段时间段内除去周六日、节假日的工作日数———超详细(全)...

    Java 计算一段时间段内除去周六日.节假日的工作日数'' 实现功能提要: 本文章记录的是某段时间的起止时间段内的工作日,既是除去周六周日以及节假日日期的工作日数: 注释比较多,因为怕自己忘记,写的可 ...

  6. 如何用计算机算出我喜欢你,我要用计算器弹歌喜欢你 | 手游网游页游攻略大全...

    发布时间:2015-09-29 6经典语录 那些依旧让我们感动的情怀.从仙剑1到仙剑6,伴随的是无数仙剑迷的青春.热血.泪水,99单机网小编收集了一些仙剑6经典语录,记录那些让我们感动的瞬间. 一生一 ...

  7. 泰森多边形 java_如何用Java写出泰森多边形算法代码???我找了好多资源表示无解呀?...

    展开全部 package com.wangyin.seapay.loginkgo; import java.util.HashMap; import java.util.Map; import jav ...

  8. java 算出下一个工作日,Java:计算一个日期加下指定工作日数(排除周六周日和一系列节日)...

    Java:计算一个日期加上指定工作日数(排除周六周日和一系列节日) 工作时遇到的,随便写了个,欢迎高手点评: 核心代码: package www.sjjjob.com.date; import jav ...

  9. java 算出下一个工作日_如何计算JAVA中两个不同日期之间的工作日(不包括周末)?...

    我的要求是计算给定两个日期之间的天数,不包括星期六和星期日. 例: Start date - 10/09/15 and End date 18/09/15 Result: 7 日期采用DD / MM ...

最新文章

  1. ubuntu下wireshark添加root权限
  2. 参考-这个符号在PHP中是什么意思?
  3. python初学者教程我要自学网-我要自学网--json 数据解析-python。
  4. Microservices Reference Architecture - with Spring Boot, Spring Cloud and Netflix OSS--转
  5. 深度学习(主要是CNN)用于图片的分类和检测总结
  6. 蓝桥杯-递归求二项式系数值(java)
  7. data fastboot 擦除_fastboot擦除恢复等待设备【专业修复数据】
  8. ios开发循环网络请求_如何简化网络请求接口开发
  9. 三步完成博客打赏功能
  10. SimpleDateFormat 格式化日期
  11. Python--day34--前面网络编程的复习
  12. 解决vs code下powerline10k图形渲染异常
  13. Excel数据透视表经典教程十三《打印数据透视表/图》
  14. 【R语言 南丁格尔玫瑰图绘制】
  15. HTML学习第十二章------布局和排版
  16. [配置文件]_start.wzd
  17. 支付宝牵头,近30亿红包等你领,攻略全在这里了!
  18. Jeesite单点登录集成Cas另加自定义登录验证
  19. java web 流量统计_网站流量统计的设计与实现
  20. 纹理、贴图、材质的区别

热门文章

  1. 2022年全球市场吹风机总体规模、主要生产商、主要地区、产品和应用细分研究报告
  2. 30 张图解: 面试必问的 TCP 重传、滑动窗口、流量控制、拥塞控制
  3. 刷脸支付来势汹汹的争夺战拉开序幕
  4. 仿掌上英雄联盟能力值图形绘制
  5. pikachu靶场通关技巧详解
  6. 暑假每日算法学习打卡(八)----字符串,丢手绢,[SCOI2005]扫雷MINE(尺取法)【牛客】
  7. delphi 导出excel边框样式
  8. 苹果库乐队怎么玩_ios库乐队旧版本下载-苹果库乐队12版本下载1.0 免费版
  9. wps设置子标题编号继承上级标题
  10. ySQL字符串函数substring:字符串截取 +判断是否包含某个字符的方法