现在的位置: 首页 > 综合 > 正文

POJ-1001 Exponentiation 高精度

2018年12月19日 ⁄ 综合 ⁄ 共 603字 ⁄ 字号 评论关闭

计算大实数R^n的值。

import java.io.*;
import java.math.*;
import java.util.*;
import java.text.*;

public class Main {
	public static void main(String[] args) {
		Scanner cin = new Scanner(System.in);
		BigDecimal num;//定义一个大实数
		int ep,sta, end, i;
		String st;
		while(cin.hasNext()/*相当于C++的!=EOF*/) {
			num = cin.nextBigDecimal(); //底数
			ep = cin.nextInt();    //指数
			num = num.pow(ep);      //计算num^ep
			st = new String(num.toPlainString()); //转为字符串
			sta = 0;
			while(st.charAt(sta) == '0') sta++;   //去掉前缀的0
			end = st.length() -1;
			while(st.charAt(end)=='0') end--;  //去掉后缀的0
			if(st.charAt(end)=='.') end--;     //若小数点后没0,去掉
			for(i=sta; i<=end; i++)
				System.out.print(st.charAt(i));
			System.out.println();
		}
		System.exit(0);
	}
}

抱歉!评论已关闭.