为了偷懒,专门用了JAVA高精。果然很简单。但是在使用前一定要注意审题,有时候根本不需要用高精计算。一定要有看清条件。
BigInteger
初始化 从string到BigInteger:
//从int到string tring a=String.valueof(int b);
BigInteger big=new BigInteger(string a);
从BigInteger到int
int b=big.intValue()
从int到BigInteger:
big=BigInteger.valeOf(int b);
从BigInteger到string:
strResult =big.toPlainString();
取余
BigInteger ans[];
ans=new BigInteger[2];
ans=Integer.divideAndRemainder(tem);//返回除数和余数
指数幂:
ans[1]=ans[1].pow(temsecond);//返回ans[1]的temsecond幂结果
乘法:
ans[1]=ans[1].mutiply(ans[0]);
BigDecimal
初始化: 从float到BigDecimal:
FirstNumber = BigDecimal.valueOf(Double.parseDouble(cin.next()));
从BigDecimal到string:
String strResult=FirstNumber.toPlainString();
if(strResult.startsWith("0"))
strResult = strResult.substring(1);
while (strResult.endsWith("0"))
strResult = strResult.substring(0,strResult.length() - 1);
if (strResult.endsWith("."))
strResult = strResult.substring(0,strResult.length() - 1);
JAVA输入输出:
import java.util.*;
import java.math.*;
Scanner cin = new Scanner(System.in);
int b=cin.nextInt();
System.out.println(strResult);