Exponentiation(java 大实数)
2015-07-31 20:45
417 查看
http://acm.hdu.edu.cn/showproblem.php?pid=1063
TotalSubmission(s):8076AcceptedSubmission(s):2279
[align=left]ProblemDescription[/align]
Problemsinvolvingthecomputationofexactvaluesofverylargemagnitudeandprecisionarecommon.Forexample,thecomputationofthenationaldebtisataxingexperienceformanycomputersystems.
ThisproblemrequiresthatyouwriteaprogramtocomputetheexactvalueofRnwhereRisarealnumber(0.0<R<99.999)andnisanintegersuchthat0<n<=25.
[align=left]Input[/align]
TheinputwillconsistofasetofpairsofvaluesforRandn.TheRvaluewilloccupycolumns1through6,andthenvaluewillbeincolumns8and9.
[align=left]Output[/align]
TheoutputwillconsistofonelineforeachlineofinputgivingtheexactvalueofR^n.Leadingzerosshouldbesuppressedintheoutput.Insignificanttrailingzerosmustnotbeprinted.Don'tprintthedecimalpointiftheresultisaninteger.
[align=left]SampleInput[/align]
95.12312
0.432120
5.123415
6.75929
98.99910
1.010012
[align=left]SampleOutput[/align]
548815620517731830194541.899025343415715973535967221869852721
.00000005148554641076956121994511276767154838481760200726351203835429763013462401
43992025569.928573701266488041146654993318703707511666295476720493953024
29448126.764121021618164430206909037173276672
90429072743629540498.107596019456651774561044010001
1.126825030131969720661201
大家都知道JAVA的类一般都要带toString这个方法的,BigDecimal则有toString,toPlainString和toEngineeringString三种表示成字符串的方法,
下面是这三种方法各自的特点:
toString:usingscientificnotationifanexponentisneeded;
toEngineeringString:usingengineeringnotationifanexponentisneeded.
toPlainString:withoutanexponentfield.
Exponentiation
TimeLimit:2000/500MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):8076AcceptedSubmission(s):2279
[align=left]ProblemDescription[/align]
Problemsinvolvingthecomputationofexactvaluesofverylargemagnitudeandprecisionarecommon.Forexample,thecomputationofthenationaldebtisataxingexperienceformanycomputersystems.
ThisproblemrequiresthatyouwriteaprogramtocomputetheexactvalueofRnwhereRisarealnumber(0.0<R<99.999)andnisanintegersuchthat0<n<=25.
[align=left]Input[/align]
TheinputwillconsistofasetofpairsofvaluesforRandn.TheRvaluewilloccupycolumns1through6,andthenvaluewillbeincolumns8and9.
[align=left]Output[/align]
TheoutputwillconsistofonelineforeachlineofinputgivingtheexactvalueofR^n.Leadingzerosshouldbesuppressedintheoutput.Insignificanttrailingzerosmustnotbeprinted.Don'tprintthedecimalpointiftheresultisaninteger.
[align=left]SampleInput[/align]
95.12312
0.432120
5.123415
6.75929
98.99910
1.010012
[align=left]SampleOutput[/align]
548815620517731830194541.899025343415715973535967221869852721
.00000005148554641076956121994511276767154838481760200726351203835429763013462401
43992025569.928573701266488041146654993318703707511666295476720493953024
29448126.764121021618164430206909037173276672
90429072743629540498.107596019456651774561044010001
1.126825030131969720661201
importjava.math.BigDecimal; importjava.util.Scanner; publicclassMain{ publicstaticvoidmain(String[]args){ Scanners=newScanner(System.in); while(s.hasNext()){ BigDecimalb=s.nextBigDecimal(); BigDecimalans=BigDecimal.valueOf(1); intn=s.nextInt(); while(n-->0) ans=ans.multiply(b); Stringstring=ans.stripTrailingZeros().toPlainString().toString(); if(string.startsWith("0.")) string=string.substring(1); System.out.println(string); } s.close(); } }
1、stripTrailingZeros(),返回类型为BigDecimal的小于此数的但除去尾部的0的数值。
2、toPlainString(),返回BigDecimal类型的String类型字符串。
3、startsWith(),确定此实例的开头是否与指定的字符串匹配。
4、substring(),返回一个新的字符串,它是此字符串的一个子字符串。该子字符串始于指定索引处的字符,一直到此字符串末尾。
大家都知道JAVA的类一般都要带toString这个方法的,BigDecimal则有toString,toPlainString和toEngineeringString三种表示成字符串的方法,
下面是这三种方法各自的特点:
toString:usingscientificnotationifanexponentisneeded;
toEngineeringString:usingengineeringnotationifanexponentisneeded.
toPlainString:withoutanexponentfield.
相关文章推荐
- java类加载全过程
- Spring是什么?
- spring与hibernate整合(三种方式)
- javac不是本地命令
- java基础第五讲——访问修饰符、面向对象三大特征、包装类、关键字
- Thinking in Java 第11章22题 分析
- Java虚拟机垃圾回收算法
- Java实现本地 fileCopy
- spring整合mongo报错:Timed Out While Waiting For A Server That Matches AnyServerSelector{} After 10000 Ms
- java类的特性
- Java面向对象的三大特征
- Eclipse中导入项目Js文件报错
- spring 声明式事务管理注解方式实现
- Java虚拟机七种垃圾收集器比较
- 【转自看雪】反编译apk+eclipse中动态调试smali
- spring 声明式事务管理xml方式实现
- Java 修饰符
- JAVA EE 自学路线
- JUnit4---eclipse实现java代码单元测试
- java多线程基础部分探究