題意:給你一個浮點數,一個整數,求浮點數的整數次方。
思路:大數解決,注意處理後面多余的零跟前面多余的零,以及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(); } }