Java-POJ1001-求高精度幂

Posted Jason-Cow

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java-POJ1001-求高精度幂相关的知识,希望对你有一定的参考价值。

 参考博客:https://www.cnblogs.com/downrainsun/p/11041960.html

 

 

 1 package poj.ProblemSet;
 2 
 3 import java.math.BigDecimal;
 4 import java.util.Scanner;
 5 /*
 6     0.4321^20结果会用科学计数法表示
 7     0.100^3=0.0001000000
 8     java中科学计数法转普通数字表示法
 9     stripTrailingZeros() 去掉末尾0
10     toPlainString() 转为普遍计数法输出
11 */
12 
13 public class poj1001 {
14     public static void main(String[] args) {
15 
16         Scanner cin=new Scanner(System.in);
17         while(cin.hasNext()) {
18             BigDecimal a=new BigDecimal(cin.next());
19             BigDecimal ans=a.pow(cin.nextInt());
20             String s=ans.stripTrailingZeros().toPlainString();
21             if(s.startsWith("0"))s=s.substring(1);//去掉0.01的首零->.01
22             System.out.println(s);
23         }
24     }
25 }

 

以上是关于Java-POJ1001-求高精度幂的主要内容,如果未能解决你的问题,请参考以下文章

Exponentiation(求高精度幂)

nyoj-155-求高精度幂(java大数)

高精度快速幂(算法描述)

随手练——麦森数(高精度快速幂)

快速求斐波那契数列(矩阵乘法+快速幂)

快速幂(提速度)+快速乘(防爆精度)