标签:
95.123 12 0.4321 20 5.1234 15 6.7592 9 98.999 10 1.0100 12
548815620517731830194541.899025343415715973535967221869852721 .00000005148554641076956121994511276767154838481760200726351203835429763013462401 43992025569.928573701266488041146654993318703707511666295476720493953024 29448126.764121021618164430206909037173276672 90429072743629540498.107596019456651774561044010001 1.126825030131969720661201
大数的题目使用Java就变得其简单无比。
主要就一句代码:
String ans = a.pow(b).stripTrailingZeros().toPlainString();
去零和转换为纯字符串输出。
这使用C++要数十行代码。
对照C++解法:http://blog.csdn.net/kenden23/article/details/23997827
相比之下。java就成了水题了。学不到什么东西。
import java.math.BigDecimal; import java.util.*; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); while (scan.hasNext()) { BigDecimal a = scan.nextBigDecimal(); int b = scan.nextInt(); String ans = a.pow(b).stripTrailingZeros().toPlainString(); if (ans.startsWith("0")) ans = ans.substring(1); System.out.println(ans); } scan.close(); } }
HDU Exponentiation 1063 Java大数题解
标签:
原文地址:http://www.cnblogs.com/yxwkf/p/5208095.html