PKU 1001 Exponentiation
Run ID | User | Problem | Result | Memory | Time | Language | Code Length | Submit Time |
5068074 | kingpro | 1001 | Accepted | 1108K | 94MS | Java | 1469B | 2009-04-29 19:18:29 |
![ContractedBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![ExpandedBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1
import
java.io.BufferedReader;
2 import java.io.IOException;
3 import java.io.InputStreamReader;
4 import java.math.BigDecimal;
5 import java.util.logging.Level;
6 import java.util.logging.Logger;
7
8 public class Main {
9
10 public static void main(String[] args) {
11 try {
12 BufferedReader reader = new BufferedReader( new InputStreamReader(System.in));
13 String data = null ;
14 while ((data = reader.readLine()) != null ) {
15 String[] d = data.split( " \\s+ " );
16 BigDecimal r = new BigDecimal(d[ 0 ]);
17 int n = Integer.parseInt(d[ 1 ]);
18 BigDecimal result = r.pow(n);
19 String res = result.toPlainString();
20 int i = 0 ;
21 for (; i < res.length(); i ++ )
22 if (res.charAt(i) != ' 0 ' )
23 break ;
24 int j = res.length() - 1 ;
25 for (; j >= i; j -- )
26 if (res.charAt(j) != ' 0 ' )
27 break ;
28 if (res.charAt(j) == ' . ' )
29 j -- ;
30 System.out.println(res.substring(i, j + 1 ));
31 }
32 } catch (IOException ex) {
33 Logger.getLogger(Main. class .getName()).log(Level.SEVERE, null , ex);
34 }
35 }
36 }
2 import java.io.IOException;
3 import java.io.InputStreamReader;
4 import java.math.BigDecimal;
5 import java.util.logging.Level;
6 import java.util.logging.Logger;
7
8 public class Main {
9
10 public static void main(String[] args) {
11 try {
12 BufferedReader reader = new BufferedReader( new InputStreamReader(System.in));
13 String data = null ;
14 while ((data = reader.readLine()) != null ) {
15 String[] d = data.split( " \\s+ " );
16 BigDecimal r = new BigDecimal(d[ 0 ]);
17 int n = Integer.parseInt(d[ 1 ]);
18 BigDecimal result = r.pow(n);
19 String res = result.toPlainString();
20 int i = 0 ;
21 for (; i < res.length(); i ++ )
22 if (res.charAt(i) != ' 0 ' )
23 break ;
24 int j = res.length() - 1 ;
25 for (; j >= i; j -- )
26 if (res.charAt(j) != ' 0 ' )
27 break ;
28 if (res.charAt(j) == ' . ' )
29 j -- ;
30 System.out.println(res.substring(i, j + 1 ));
31 }
32 } catch (IOException ex) {
33 Logger.getLogger(Main. class .getName()).log(Level.SEVERE, null , ex);
34 }
35 }
36 }
Java BigDecimal类 使用toPlainString()方法获取全部位