【发布时间】:2015-03-05 12:42:29
【问题描述】:
decreases 之后的语句必须在每个循环中严格变小,并且始终为非零。但它必须达到0吗?一定要小一吗?
【问题讨论】:
-
相关:我如何/在哪里可以查找 JML 的内容?
标签: jml
decreases 之后的语句必须在每个循环中严格变小,并且始终为非零。但它必须达到0吗?一定要小一吗?
【问题讨论】:
标签: jml
如the JML documentation 中所述,decreases(您也可以写成 decreasing)意味着带有该说明符的 int 或 long 表达式“必须不小于 0 时循环正在执行,每次循环必须至少减少一 (1)。"
所以它可能会或可能不会达到 0,但不能小于该值。此外,它必须至少变小,但不一定完全变小。请注意文档中的示例以获得更准确的解释。
【讨论】: