大家好,又见面了,我是全栈君。
Exponentiation
Time Limit: 1000/500 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 6973 Accepted Submission(s): 1975
This problem requires that you write a program to compute the exact value of R
n where R is a real number ( 0.0 < R < 99.999 ) and n is an integer such that 0 < n <= 25.
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(); } }
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/115938.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...