Java实现大数乘法_java实现大数加法、乘法(BigDecimal)
之前寫過用vector、string實現(xiàn)大數(shù)加法,現(xiàn)在用java的BigDecimal類,代碼簡單很多。但是在online-judge上,java的代碼運行時間和內(nèi)存大得多。
java大數(shù)加法:求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大數(shù)乘法:求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());
}
}
}
總結(jié)
以上是生活随笔為你收集整理的Java实现大数乘法_java实现大数加法、乘法(BigDecimal)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: blockingdeque java_J
- 下一篇: jni java共享变量_JNI/NDK