欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > java >内容正文

java

Java实现大数乘法_java实现大数加法、乘法(BigDecimal)

发布时间:2025/4/16 java 36 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Java实现大数乘法_java实现大数加法、乘法(BigDecimal) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

之前写过用vector、string实现大数加法,现在用java的BigDecimal类,代码简单很多。但是在online-judge上,java的代码运行时间和内存大得多。

java大数加法:求a+b

import java.util.*;import java.io.*;importjava.lang.String;importjava.math.BigDecimal;public classp1036

{public static voidmain(String[] args)

{

String s1,s2;

Scanner cin= newScanner(System.in);

s1=cin.next();

s2=cin.next();

BigDecimal b1= newBigDecimal(s1);

BigDecimal b2= newBigDecimal(s2);

System.out.println(b1.add(b2));

cin.close();

}

}

测试输入:

130618656970218663498347545006237201871512019139119220715666434

305161091397192795974451967699240485213039650461566304271331231

421952713061865697021866349834754500623720187151201913911922071

566643430516109139719279597445196769924048521303965046156630427

13312314219527

130618656970218663498347545006237201871512019139119220715666434

305161091397192795974451967699240485213039650461566304271331231

421952713061865697021866349834754500623720187151201913911922071

566643430516109139719279597445196769924048521303965046156630427

13312314219527

输出:

261237313940437326996695090012474403743024038278238441431332868

610322182794385591948903935398480970426079300923132608542662462

843905426123731394043732699669509001247440374302403827823844143

133286861032218279438559194890393539848097042607930092313260854

26624628439054

java大数乘法:求2^(n+1)-1

import java.util.*;import java.io.*;importjava.math.BigDecimal;//2^(n+1)-1

public classMain

{public static voidmain(String[] args)

{

BigDecimal b;

BigDecimal diff=new BigDecimal(-1);intn;

Scanner cin= newScanner(System.in);while(cin.hasNext())

{

n=cin.nextInt();

b=new BigDecimal(2);

b=b.pow(n+1);

System.out.println((b.add(diff)).toString());

}

}

}

总结

以上是生活随笔为你收集整理的Java实现大数乘法_java实现大数加法、乘法(BigDecimal)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。