POJ 1001 Exponentiation(大数处理)
发布时间:2020-12-14 03:41:23 所属栏目:大数据 来源:网络整理
导读:http://poj.org/problem?id=1001 题意:给你一个浮点数,一个整数,求浮点数的整数次方。 思路:大数解决,注意处理后面多余的零跟前面多余的零,以及Java科学计数法的问题。 import java.math.*;import java.util.Scanner;public class Main {public static
http://poj.org/problem?id=1001 题意:给你一个浮点数,一个整数,求浮点数的整数次方。 思路:大数解决,注意处理后面多余的零跟前面多余的零,以及Java科学计数法的问题。
import java.math.*; import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub /*sss*/ BigDecimal a,c,d; int b ; Scanner cin = new Scanner(System.in); while(cin.hasNext()){ a = cin.nextBigDecimal(); b = cin.nextInt(); a = a.pow(b); String s; s = a.toPlainString(); //避免科学记数法(如果用a.toSting会存成科学记数法) int start = 0; while(s.charAt(start) == '0'){ //a.charAt(b) 取a字符串下标为b的字符 start++; } int end = s.length()-1; while(s.charAt(end) == '0'){ end--; } if(s.charAt(end) == '.'){ end--; } for(int i = start; i <= end; ++i){ System.out.print(s.charAt(i)); } System.out.println(); //System.out.println();//subtract-,add+,multiply* divide/ } cin.close(); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |