Java计算1到100的阶乘的和(超过long范围的整数)
- 整数型:
- int范围:-2^31~(2^31-1),即:-2147483648~2147483647;
- long范围:-2^63~(2^63-1),即:-9223372036854775808~9223372036854775807;
- 浮点型:只能计算16位的有效数字
- 大数字计算方法:Java中提供了针对大数字的操作类,即 java.math.BigInteger 类和 java.math.BigDecimal 类(即java.math.BigDecimal-java.math包下类).
- 区别: BigInteger 类是针对大整数的处理类,BigDecimal 类是针对大小数的处理类, 加入了小数的概念.
- //初始化方式:不像String可以直接赋值,而是和其他自定义的类一样,需要调用它的构造器进行初始化。这个类的取值范围原则上是没有上限的,取决于计算机内存。
- 常用的方法:
更多的方法请自行查找API
- 最终实现
import java.math.BigInteger; public class Demon03 { public static void main(String[] args){ BigInteger num = new BigInteger("0"); BigInteger n = new BigInteger("1"); BigInteger m = new BigInteger("1"); BigInteger l = new BigInteger("1"); BigInteger k = new BigInteger("100"); do{ num = num.add(m); n = n.add(l); m = m.multiply(n); }while(n.compareTo(k)<0);
/*compareTo():比较字符串,如果相等,则返回值 0; 如果此字符串小于字符串参数,则返回一个小于 0 的值; 如果此字符串大于字符串参数,则返回一个大于 0 的值*/ System.out.println("1!+2!+...+100!="+num); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律