大家好,又见面了,我是全栈君。
今天这个可能有点偷懒,学c++的时候就知道大数计算很复杂,现在一直用java,有幸有大数的方法可以用
那么今天的算法就用java偷懒过去吧
Description
现在要你解决的问题是:对一个实数R( 0.0 < R < 99.999 ),要求写程序精确计算 R 的 n 次方(R
n),其中n 是整数并且 0 < n <= 25。
Input
Output
Sample Input & Sample Output
95.123 12
548815620517731830194541.899025343415715973535967221869852721
0.4321 20
.000000051485546410769561219945112767671548384817602007263512038354297630134624015.1234 15
43992025569.928573701266488041146654993318703707511666295476720493953024
6.7592 9
29448126.764121021618164430206909037173276672
98.999 10
90429072743629540498.107596019456651774561044010001
1.0100 12
1.126825030131969720661201
代码:
import java.math.BigDecimal;
import java.util.Scanner;
public class TheBigNumber {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
try {
Double r = in.nextDouble();
Integer n = in.nextInt();
BigDecimal re = new BigDecimal(r.toString());
String res = re.pow(n).stripTrailingZeros().toPlainString();
if (res.startsWith("0"))
res = res.substring(1, res.length());
System.out.println(res);
} catch (Exception e) {
}
}
}
}
作者:jason0539
微博:http://weibo.com/2553717707
博客:http://blog.csdn.net/jason0539(转载请说明出处)
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/121389.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...