0

下面提供了 gcd 方法的前置条件和后置条件。

pre: x > 0 & y > 0 
post: result > 0 &
      x mod result = 0 & y mod result = 0 &
      ∀t:Integer · t > 0 & x mod t = 0 & y mod t = 0 ⇒ result mod t = 0

但是,我在遵循后置条件时遇到了麻烦......对我来说,它基本上说找到任何可以被两者整除的整数。它如何获得最大除数,实际条件是什么?

4

1 回答 1

4

这保证了它result是所有公约数中最大的。

∀t:Integer·t>0 & x mod t=0 & y mod t = 0 ⇒ result mod t = 0

它说 anytxandy的公约数,也是 的除数result

编辑:你应该像这样阅读上面的行:

∀t:Integer·((t>0 & x mod t=0 & y mod t = 0) ⇒ result mod t = 0)
于 2012-12-29T13:44:39.120 回答