循环迭代程序正确性示例-循环不变式和程序终止

问题描述

我需要帮助来证明迭代程序的正确性:

def term_ex_2(x,y):
 ''' Pre: x and y are natural numbers '''
 a = x
 b = y
 while a >= 0 or b >= 0:
     if a > 0:
         a -= 1
     else:
         b -= 1
 return x * y

我知道我需要以某种方式找到循环不变式,并通过对循环的归纳来证明这一点。问题在于,这里的if / else语句使我困惑于如何提出一个。

我还必须证明程序在那之后是否终止。

我对逐步的过程有一个大致的了解,但是我不知道从家庭作业开始该示例的位置。

任何建议将不胜感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)