讨论 / 精度是个很扯的问题
Norson 2008-07-30 05:25:00
点我顶贴 收藏 删除
round(length(s)/2)是对一个数四舍五入吧?

可是里面的数算出来是6.5的时候,它竟然打出结果是6!!!害我白交了两遍!!把那个改成round(length(s)/2+0.05)才过了……

#1 Zx.MYS@2008-07-28 00:13:00
回复 删除
靠……我也是!!我交了三!!!

后来我一怒之下改成了

((odd(length(s))) and (m>(round(length(s))/2)+1)) or ((not (odd(length(s)))) and (m>length(s)/2))

……

#2 wish@2008-07-30 01:20:00
回复 删除
这一题你用 (length(S) + 1) div 2 不就行了

换种思路,简化程序

#3 vinence@2008-07-30 02:21:00
回复 删除
if len mod 2 =1 then mid:=(len+1) div 2 else mid:=len div 2;

这样不就行了么?

#4 wish@2008-07-30 05:25:00
回复 删除
LS 和我的 (length(S) + 1) div 2 等价。。。
查看更多回复
提交回复