惭愧 到现在都还没有去学一下java大数怎么用
结果就是蓝翔杯那个大数都没有写出来
BigInteger 和 BIgDecimal 在java.math.*里
1.
int a=3;
BigInteger b=BigInteger.valueOf(a);
则b=3;
2.
String s="-123459999999999999999999";
BigInteger c=new BigInteger(s,10);
把字符串转换成10进制的大数;
3.
BigInteger a=new BigInteger("234");
BigInteger b=new BigInteger("567");
System.out.println(a.add(b));
2个大数相加,a没变。
subtract(); 相减 multiply(); 相乘 divide(); 相除取整 remainder(); 取余 pow(); a.pow(b)=a^b gcd(); 最大公约数
abs(); 绝对值 negate(); 取反数 mod(); a.mod(b)=a%b=a.remainder(b); max(); min(); boolean equals(); 是否相等
3.
读入:
用Scanner类定义对象进行控制台读入,Scanner类在java.util.*包中
Scanner cin=new Scanner(System.in);
while(cin.hasNext())//相当于EOF
{
int n;
BigInteger m;
n=cin.nextInt();
m=cin.nextBigInteger();
System.out.println(n);
System.out.println(m);
}
stripTrailingZeros() 去掉后端多余的领 例如:4.0 输出4
toPlainString()将 BigDecimal数据取消科学计数