凌语丶
本帖最后由 凌语丶 于 2023-1-6 09:29 编辑

向下取整:%s_round(变量-0.5,0)%
向上取整:%s_round(变量+0.5,0)%


提交几组变量数据,hack掉这两个错误的SBPlaceholder写法并更正


季楠
本帖最后由 季楠 于 2023-1-6 09:38 编辑

这组变量的错误在于:
对于每一个整数值,它的向上取整返回值都是下一个整数,而非要求的该整数值本身。

凌语丶
季楠 发表于 2023-1-6 09:25
向下取整: %s_int(变量)%
向上取整: %s_int(变量)+1%

这个取整难以评价,他的本质是去掉字符串中除了第一个减号的其他所有符号
另外,能给出一组hack数据吗?我感觉我写的是错的但是目前还没发现hack

季楠
本帖最后由 季楠 于 2023-1-6 10:05 编辑
凌语丶 发表于 2023-1-6 09:27
这个取整难以评价,他的本质是去掉字符串中除了第一个减号的其他所有符号
另外,能给出一组hack数据吗? ...

抱歉我起初认为它是将小数类型强制转换为整数。

季楠
本帖最后由 季楠 于 2023-1-6 10:12 编辑
凌语丶 发表于 2023-1-6 09:27
这个取整难以评价,他的本质是去掉字符串中除了第一个减号的其他所有符号
另外,能给出一组hack数据吗? ...

请看一下修改后的~

凌语丶
季楠 发表于 2023-1-6 09:34
请看一下修改后的:

round(1.0) > 1 false return round(1.0) + 1 // 2
round(1.0) < 1 false return round(1.0) - 1 // 0

季楠
本帖最后由 季楠 于 2023-1-6 10:05 编辑
凌语丶 发表于 2023-1-6 09:39
round(1.0) > 1 false return round(1.0) + 1 // 2
round(1.0) < 1 false return round(1.0) - 1 // 0

是的,这和题目中的逻辑存在相同的错误。

季楠
本帖最后由 季楠 于 2023-1-6 10:12 编辑

尝试强制修正错误的返回值:

向上取整:%s_if(round(变量+0.5,0)=(变量+1),变量,round(变量+0.5,0))%

凌语丶
季楠 发表于 2023-1-6 08:00
尝试强制修正错误的返回值:

向上取整:%s_if(round(变量+0.5,0)=(变量+1),变量,round(变量+0.5,0))%

srds, 简化后ceil(1.0)不还是2嘛

第一页 上一页 下一页 最后一页