以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 计算机考研交流 』 (http://bbs.xml.org.cn/list.asp?boardid=67) ---- 一个这样简单的程序还是老通不过,晕哪 (http://bbs.xml.org.cn/dispbbs.asp?boardid=67&rootid=&id=72762) |
-- 作者:kaogejj -- 发布时间:3/8/2009 10:33:00 PM -- 一个这样简单的程序还是老通不过,晕哪 问题: http://acm.pku.edu.cn/JudgeOnline/problem?id=1001 Description Problems involving the computation of exact values of very large magnitude and precision are common. For example, the computation of the national debt is a taxing experience for many 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. The 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. The output will consist of one line for each line of input giving the exact value of R^n. Leading zeros should be suppressed in the output. Insignificant trailing zeros must not be printed. Don't print the decimal point if the result is an integer. 95.123 12 Sample Output 548815620517731830194541.899025343415715973535967221869852721 If you don't know how to determine wheather encounted the end of input: My Java Code: import java.util.Scanner; public class Main { Scanner console = new Scanner(System.in); 用我的程序运行Sample 输入的输出: 可是提交上去报 Wrong Answer. |
-- 作者:alis1017 -- 发布时间:3/9/2009 10:31:00 AM -- 我也遇到了,求解 |
-- 作者:dq85 -- 发布时间:3/9/2009 11:53:00 AM -- 不懂java 不过我看上面写的Java is J2SE 1.5,会不会不兼容。。。呵呵 |
-- 作者:whasic -- 发布时间:3/9/2009 12:16:00 PM -- 这个题的问题多了 少小看1001了 出了名的无限WA 不看你程序光看你结果是WA就知道你至少犯了其中一个 首部0处理没? 尾部0处理没? 小数点处理没? 整数输出小数点没? 10的整数倍的若干次幂的尾部0是不是被当成小数处理了? …… 略微看了一下你的程序 |
-- 作者:mychangle1234 -- 发布时间:3/9/2009 1:40:00 PM -- 看法同楼上,这种大数乘法可以用数组解决,在《程序设计导引及在线实践》里面有例子。 |
-- 作者:greatseven -- 发布时间:3/9/2009 5:19:00 PM -- 如果你一定要用java的话,那么还应该用BigDecimal的stripTrailingZeros,如果是0开头的话用startsWith("0.")判断一下再用substring输出就行了 |
-- 作者:dark_matter -- 发布时间:3/9/2009 10:31:00 PM -- 很久以前写的,OJ上的Archive下载不下来,刚在电脑上找出来一份,不知道是不是最后AC的版本: import java.util.*; import java.lang.*; import java.math.*; public class Main { public static void main(String[] args) num = BigDecimal.valueOf(Double.parseDouble(cin.next())); System.out.println(res); |
-- 作者:kaogejj -- 发布时间:3/9/2009 10:38:00 PM -- 自己看出一个问题来 if (result.indexOf('.') > 0) { 应该是 if (result.indexOf('.') > -1) { 否则0.0100^4就通不过 头部0,尾部0,小数点都处理了,我用的是正则表达式,都可以处理的,有谁能给一个NG的case? |
-- 作者:kaogejj -- 发布时间:3/9/2009 11:00:00 PM -- ACM上你可查看自己的代码啊
|
-- 作者:ccyndi -- 发布时间:3/9/2009 11:10:00 PM -- 支持cpp。。。 //////////////////////////////////////////////////////////////// #include <iostream> #include <string> #include <vector> using namespace std; class power istream&operator>>(istream&In, power&r) string power::operator()(int n) int main() |
-- 作者:kaogejj -- 发布时间:3/9/2009 11:41:00 PM -- 下面的代码被Accept了: import java.util.Scanner; import java.math.BigDecimal; public class Pku1001 { Scanner console = new Scanner(System.in); result = result.replaceAll("\\.$", ""); System.out.println(result); 除了result.indexOf('.') > -1这个地方改了之外,还加了一句 而加这一句与不加唯一的区别在于 0.0^3这样的输出不同,原来会输出 . ,现在输出空,可是题干明白说了 0.0<r<99.999,。。。, |
-- 作者:kaogejj -- 发布时间:3/9/2009 11:44:00 PM -- 上面的public class Pku1001 我在提交时已改成Main,可无视。 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
101.563ms |