[Login|Register]
New post

Show post

Search forum

Read topic
强烈怀疑标准答案精度不够 2010-12-04 11:22:42 qwynick
我把学分按整数处理,在输出时除以10.0交了N次都过不了,改成double型就过了。直接double运算因为误差传递精度应该不及按int算,最后除以10.0。望管理员检查检查。
Re:强烈怀疑标准答案精度不够 2010-12-04 22:48:52 admin
这个题目中全部使用double,与使用int输出时转换double误差仅有1个二进制位。
问题出在printf四舍五入时,例如有个输出的精确值是9/4。用int计算后输出2.48,用double计算后输出2.47,因为前者9转为double被表示成0x4023cccccccccccd,而后者为0x4023cccccccccccc
怎么说呢,这个问题很囧。上面两个值表示9都是可以的,因为9是不可能被精确表示的。但是printf却有完全不同的表现。
谢谢你提出这个问题。当然,你用int的版本应该是对的。
Re:强烈怀疑标准答案精度不够 2010-12-05 11:49:06 admin
9应该是9.9……
Re:强烈怀疑标准答案精度不够 2010-12-05 21:26:36 qwynick
呃,可能是编译器版本问题吧。我这里dev的g++和VS25的c++两种算法跑出来都是2.4750000000000001000000。。。
ps1我是外行;ps2今天很郁闷。
Reply
Title
Message
(64K)
University of Science and Technology of China
Online Judge for ACM/ICPC
Processed in 1.5ms with 1 query(s).