如何检查从未遇到过的情况?

时间:2012-01-06 11:13:53

标签: logic

举一个例子澄清,说我有一个程序从用户输入两个输入,a和b。程序递增a和递减b。程序返回a和b都相等的值。因此,a必须更小,b必须更大。但是,如果用户输入相反的内容呢? a更大,b更小?该程序显然会进入无限循环。但是假设我希望程序返回“这两个数字永远不会满足”。那我该如何检查呢?请不要回答检查数字并分别作出回应。这只是一个例子。我想知道如何检查一个永远无法满足的条件。

另一个例子,比较两个数字。假设我有两个数字,我随机随机。程序应该在它们相等时返回true而在它们不相同时返回false。当数字不相等时,它不应该进入无限循环。我只能继续比较每次迭代中的数字,并在它们相等时立即返回true。但是很可能它们永远不会变得平等而程序永远不会终止。如何检查这样的场景并返回类似数字的东西永远不会相等。

2 个答案:

答案 0 :(得分:1)

必须根据具体情况进行;一般问题(给定由变量条件控制的迭代过程,确定条件是否会假定给定值,例如True)等同于停止问题,这是不可计算的......

答案 1 :(得分:-1)

一个简单的if语句,像这样吗?

if (a <= b)
  throw "Condition cannot be met"
else
    for ( ; a != b; a--, b++) {
        // Do something
    }

c ++中的示例

编辑我的A和B方向错了!但情况相同。