nyoj 155 求高精度幂

来源:互联网 发布:层次分析法判断矩阵 编辑:程序博客网 时间:2024/05/17 21:06

http://acm.nyist.net/JudgeOnline/problem.php?pid=155

注意去除前导0,去除和小数最后面的0.要用到stripTrailingZeros函数,另外要注意,高精度浮点数BigDecimal类计算输出自动按照科学计数法来,要用toPlainString函数恢复最初状态。

import java.math.BigDecimal;import java.util.Scanner;public class Main {public static void main(String...args){while(cin.hasNext()){a = cin.nextBigDecimal();int powNum = cin.nextInt();res = a.pow(powNum);if(a.compareTo(BigDecimal.ONE) >= 0)System.out.println(res.stripTrailingZeros().toPlainString());else{String result = res.stripTrailingZeros().toPlainString();for(int i = 1; i < result.length(); i++)System.out.print(result.charAt(i));System.out.println();}}}public static BigDecimal a, res;static Scanner cin = new Scanner(System.in);}


原创粉丝点击