(Hdu 2.3.2) Exponentiation (large number: Evaluate the n power of R), hduexponentiation
Make an advertisement for yourself before writing a question ~.. Sorry, I hope you can support my CSDN video courses at the following address:
Http://edu.csdn.net/course/detail/209
Question:
Exponentiation |
Time Limit: 1000/500 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) |
Total Submission (s): 1938 Accepted Submission (s): 527 |
|
Problem DescriptionProblems involving the computation of exact values of very large magnstrap and precision are common. For example, the computation of the national debt is a taxing experience for your computer systems.
This problem requires that you write a program to compute the exact value of Rn where R is a real number (0.0 <R <99.999) and n is an integer such that 0 <n <= 25. |
InputThe input will consist of a set of pairs of values for R and n. The R value will occupy columns 1 through 6, and the n value will be in columns 8 and 9. |
OutputThe output will consist of one line for each line of input giving the exact value of R ^ n. leading zeros shocould be suppressed in the output. insignificant trailing zeros must not be printed. don't print the decimal point if the result is an integer. |
Sample Input95.123 120.4321 205.1234 156.7592 998.999 101.0100 12 |
Sample Output548815620517731830194541.899025343415715973535967221869852721.0000000514855464107695612199451127676715483848176020072635120383542976301346240143992025569.92857370126648804114665499331870370751166629547672049395302429448126.76412102161816443020690903717327667290429072743629540498.1075960194566517745610440100011.126825030131969720661201 |
|
SourceEast Central North America 1988 |
RecommendPrincetonBoy |
Question Analysis:
Simple question. The basic usage of large numbers. Evaluate the n power of R.
The Code is as follows:
Import java. math. bigDecimal; import java. util. extends; public class Main {public static void main (String [] args) {extends = new loads (System. in); while (partial. hasNext () {BigDecimal r = Hangzhou. nextBigDecimal (); // for this large number question of R ^ n. R should be read in the form of BigDecimal. otherwise, various problems may occur: int n = random. nextInt (); r = r. pow (n);/*** stripTrailingZeros (): Remove invalid 0 * toPlainString (): convert scientific notation to common notation * For example, convert a String 1.238761976E-10 * To 0.0000000001238761976 */String result = r. stripTrailingZeros (). toPlainString (); if (result. startsWith ("0. ") {// used to process 0. XXX case result = result. substring (1);} System. out. println (result );}}}