大数运算
POJ 1001
hdu 1024
hdu 1753
hdu 1002
在学习了Java的一些基本语法之后,接下来就是巩固一下知识了。记得之前做过一些大数的运算,用C写起来真是麻烦,今天就用Java来写一写,来爽一把。
POJ 1001
1 | import java.math.BigDecimal; |
自己去看了一下Bigdecimal的一些函数,用Java这感觉就是不一样。
题目是算a的b次方。
首先是用String类int接收数值,然后String转BigDecimal,BigDecimal的定义必须赋初值。
注解1:toPlainString()是将Bigdecimal转化为String类,直接转的常用十进制方式,不然是科学记数法。stripTrailingZeros()是去掉后导0。
1 | s = a.toPlainString(); |
对于第2个样例,因为有前导0,需要进行判断。
http://acm.hdu.edu.cn/showproblem.php?pid=1042 hdu 1024
1 | import java.math.BigInteger; |
http://acm.hdu.edu.cn/showproblem.php?pid=1753 hdu 1753
1 | import java.math.BigDecimal; |
http://acm.hdu.edu.cn/showproblem.php?pid=1002 hdu 1002
1 | import java.math.BigInteger; |