在参加第九届蓝桥杯JavaB组中,在填空题遇到两题大数问题,要求2的12345次方当时就懵逼了,因为Java用的不够多,不知道Java可以处理大数问题,后经同学提起才知道Java可以直接处理大数,我当时直接用数组来模拟十进制乘法。。。。但是需要进行减法的时候就崩溃做不下去了。。。。。。。,真的要好好看一下Java的文档。
但是用Java大数类BigInterge来算2的123456次方很简单了
public class Main {
public static void main(String[] args) {
//BigInterge初始值只有0、1、10,如果需要其他值可以通过和其他数相乘
BigInteger a=BigInteger.ONE;//定义一个大数
BigInteger b=BigInteger.ONE;
for (int i = 0; i < 123456; i++) {
a=a.multiply(BigInteger.valueOf(2));//乘法
b=b.multiply(BigInteger.valueOf(3));//乘法
}
System.out.println(b.subtract(a));//减法
//查看文档BigInterge 还有很多其他的方法
//
}
}