加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

大数的幂 java的用法

发布时间:2020-12-14 03:00:46 所属栏目:大数据 来源:网络整理
导读:poj1001 大数的幂 java的用法 分类:?大数运算 java 2012-09-05 10:27 ? 433人阅读 ? 评论(0) ? 收藏 ? 举报 java string import exception class c java中的类BigDecimal java.math.BigDecimal 能表示其他普通类型不能表示的数据范围如double就表示不了超过

poj1001 大数的幂 java的用法

分类:?大数运算 java ? 433人阅读? 评论(0)? 收藏? 举报
java string import exception class c


java中的类BigDecimal
java.math.BigDecimal
能表示其他普通类型不能表示的数据范围如double就表示不了超过16位的,但是该类可以。今天做到北大的ACM的1001题,先是用C++写了,后用java做,觉得java做起来简单,但是自己对java不熟悉。从现在开始好好学习学习java。
该题就用到了java中的BigDecimal。
不能用普通的+,-,*,/对其对象进行运算。而应该用其类中的方法。
BigDecimal add(BigDecimal augend) :加法?
BigDecimal subtract(BigDecimal subtrahend) :减法?
BigDecimal divide(BigDecimal divisor) :除法 ? ?
BigDecimal pow(int n) :乘幂
BigDecimal multiply(BigDecimal multiplicand) :乘法
在得到的小数,要对其小数点后面的零进行处理,用到:BigDecimal stripTrailingZeros() 返回数值上等于此小数,但从该表示形式移除所有尾部零的 BigDecimal。
对得到的数据用科学计数法就用:String toPlainString() 返回不带指数字段的此 BigDecimal 的字符串表示形式。通俗来讲就是直接显示,不用科学计数法表示。
最后把写的ACM1001的题目代码(java)贴在后面,以后记住。
? ? ?

[cpp]? view plain copy
  1. import?java.io.*;??
  2. ?import?java.util.*;??
  3. ?import?java.math.BigDecimal;??
  4. ???
  5. ?public?class?Main??
  6. ?{??
  7. ?????static?void?main(String?args[])throws?Exception??
  8. ?????{??
  9. ?????????Scanner?cin=new?Scanner(System.in);??
  10. ?????????while(cin.hasNext())??
  11. ?????????{??
  12. ?????????????BigDecimal?r=cin.nextBigDecimal();??
  13. ?????????????int?n=cin.nextInt();??
  14. ?????????????r=r.pow(n).stripTrailingZeros();??
  15. ?????????????String?m_string=r.toPlainString();??
  16. ?????????????if(m_string.charAt(0)=='0')??
  17. ?????????????m_string=m_string.substring(1);??
  18. ?????????????System.out.println(m_string);??
  19. ?????????}??
  20. ?????}??
  21. ?}??

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读